Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Datensatz per Listenfeld im aktuellen Formuar auswählen

670 views
Skip to first unread message

Frank Sommer

unread,
Dec 1, 2007, 1:03:23 PM12/1/07
to
Hallo

Ich habe ein Ufo und in ihm ein Listenfeld hinter dem eine Abfrage
liegt. Wenn ich ein Eintrag auswähle soll im selben Formular der
entsprechende Datensatz angezeigt werden.
Mit DoCmd.GoToRecord sollte das doch gehen, nur weiß ich nicht die
korrekte Schreibweise.
Spalte 0 im Listen feld ist die ID.

Danke für Hinweise!

Grüße
Frank

Karl Donaubauer

unread,
Dec 1, 2007, 1:08:20 PM12/1/07
to
Frank Sommer wrote:
> Ich habe ein Ufo und in ihm ein Listenfeld hinter dem eine Abfrage
> liegt. Wenn ich ein Eintrag auswähle soll im selben Formular der
> entsprechende Datensatz angezeigt werden.
> Mit DoCmd.GoToRecord sollte das doch gehen,

Naa, damit kannst du nur zu einem best. Datensatz anhand der
Reihenfolge im Formular springen, nicht anhand einer ID.

> nur weiß ich nicht die korrekte Schreibweise.
> Spalte 0 im Listen feld ist die ID.

4.4 Datensatz suchen
www.donkarl.com?FAQ4.4


Du musst nur die Syntax etwas an deine HFo-UFo-Struktur anpassen.

--
HTH
Karl
********* Ich beantworte keine Access-Fragen per Email. *********
Access-FAQ: http://www.donkarl.com
Access-Entwickler-Konferenz: www.donkarl.com/?AEK
SQL Server-Entwickler-Konferenz: www.donkarl.com/?SEK

Peter Doering

unread,
Dec 1, 2007, 1:10:03 PM12/1/07
to
Hallo,

Frank Sommer wrote:

> Ich habe ein Ufo und in ihm ein Listenfeld hinter dem eine Abfrage
> liegt. Wenn ich ein Eintrag auswähle soll im selben Formular der
> entsprechende Datensatz angezeigt werden.
> Mit DoCmd.GoToRecord sollte das doch gehen, nur weiß ich nicht die
> korrekte Schreibweise.
> Spalte 0 im Listen feld ist die ID.

www.donkarl.com?FAQ4.4

Gruss - Peter

--
Ich beantworte keine Fragen per Email.
Mitglied im http://www.dbdev.org
FAQ: http://www.donkarl.com

Frank Sommer

unread,
Dec 1, 2007, 3:04:47 PM12/1/07
to
Danke für die Antwort,
nur bekomme ich es nicht hin. Wenn ich Buttons ins Ufo einfüge, kann
ich zwischen den im Listenfeld daregstellte Datensätzen blättern.
Mit der gebundenen Spalte des Listenfeldes und der Eigenschaft Column
des Listenfeldes habe ich auch schon rumexperimentiert.
Aktueller Code

Me!ID.SetFocus
DoCmd.FindRecord Me!ListeAktivitaet.Column(0)

Die gebundene Spalte des Listenfeldes ist 1.

Das UfoElement ist mit dem Hfo verknüpft. Die Die ID des Hfo ist mit
dem Feld Person verknüpft, hat das vielleicht einen Einfluß?

Karl Donaubauer

unread,
Dec 1, 2007, 3:10:16 PM12/1/07
to
> ...

Wo steht denn dieser Code?
In welchem Objekt und bei welchem Ereignis?

--
cu

Frank Sommer

unread,
Dec 1, 2007, 3:29:50 PM12/1/07
to
Beim Ereignis "Beim Klicken" beim Listenfeld "ListeAktivität"

....

cu
Frank

Karl Donaubauer

unread,
Dec 1, 2007, 4:17:41 PM12/1/07
to
Da du in deinen Beiträgen nicht das Nötige zitierst, mache ich hier weiter.

Frank Sommer wrote:
> nur bekomme ich es nicht hin.

Was heißt das?
Wird der DS nicht gewechselt oder gibt's einen Fehler und welchen?

> Wenn ich Buttons ins Ufo einfüge, kann
> ich zwischen den im Listenfeld daregstellte Datensätzen blättern.
> Mit der gebundenen Spalte des Listenfeldes und der Eigenschaft Column
> des Listenfeldes habe ich auch schon rumexperimentiert.
> Aktueller Code
>
> Me!ID.SetFocus
> DoCmd.FindRecord Me!ListeAktivitaet.Column(0)
>
> Die gebundene Spalte des Listenfeldes ist 1.

Wenn du damit den Datensatz im UFo wechseln willst und in der
ersten Spalte des Listenfeldes eine (im UFo vorhandene) ID steht,
sollte das funktionieren. Da du schreibst, dass die erste die gebundene
Spalte sei, sollte auch reichen:

Me!ID.SetFocus
DoCmd.FindRecord Me!ListeAktivitaet

> Das UfoElement ist mit dem Hfo verknüpft. Die Die ID des Hfo ist mit
> dem Feld Person verknüpft, hat das vielleicht einen Einfluß?

Du kannst mit der o.a. Technik grundsätzlich nur zu einem Datensatz
springen, der aktuell im UFo verfügbar ist. Die Verknüpfung mit dem
Hauptformular spielt insofern also schon eine Rolle.

--
HTH

Thomas Möller

unread,
Dec 2, 2007, 3:07:45 AM12/2/07
to
Hallo Frank,

Frank Sommer <garal...@web.de> schrieb:


> Ich habe ein Ufo und in ihm ein Listenfeld hinter dem eine Abfrage
> liegt. Wenn ich ein Eintrag auswähle soll im selben Formular der
> entsprechende Datensatz angezeigt werden.
> Mit DoCmd.GoToRecord sollte das doch gehen, nur weiß ich nicht die
> korrekte Schreibweise.
> Spalte 0 im Listen feld ist die ID.

Du könntest Dich auch von dem Gedanken lösen, den Datensatz *suchen* zu
wollen. Statt dessen sorgst D dafür, dass nur der entsprechende
Datensatz im Formular angezeigt wird.

Ich gehe mal davon aus, dass die Datenquelle für das Unterformular auch
eine Abfrage ist. Wenn dem nicht so ist erstellst Du bitte als erstes
eine Abfrage und verwendest diese als Datenquelle für Dein
Unter-Formular.

In diese Abfrage fügst Du folgende Bedingung ein:

WHERE ID =
Forms!DeinFormular!DeinUnterformular!ListeAktivitaet.Column(0)

Die Namen für "DeinFormular" und "DeinUnterformular" musst Du natürlich
entsprechend anpassen.


Im After-Update-Ereignis des Listenfeldes ergänzt Du jetzt folgendes:

Me!NameDeinesUfoSteuerelements.Requery

Hier musst Du jetzt entsprechend den Namen Deines
Unterformular-Steuerelements anpassen.


CU
--
Thomas

Homepage: www.Team-Moeller.de

Frank Sommer

unread,
Dec 2, 2007, 5:13:29 AM12/2/07
to

> > nur bekomme ich es nicht hin.
>
> Was heißt das?
> Wird der DS nicht gewechselt oder gibt's einen Fehler und welchen?
Das heist das der Datensatz nicht gwechselt/angezeigt wird.

>
> > Wenn ich Buttons ins Ufo einfüge, kann
> > ich zwischen den im Listenfeld daregstellte Datensätzen blättern.
> > Mit der gebundenen Spalte des Listenfeldes und der Eigenschaft Column
> > des Listenfeldes habe ich auch schon rumexperimentiert.
> > Aktueller Code
>
> > Me!ID.SetFocus
> > DoCmd.FindRecord Me!ListeAktivitaet.Column(0)
>
> > Die gebundene Spalte des Listenfeldes ist 1.
>
> Wenn du damit den Datensatz im UFo wechseln willst und in der
> ersten Spalte des Listenfeldes eine (im UFo vorhandene) ID steht,
> sollte das funktionieren. Da du schreibst, dass die erste die gebundene
> Spalte sei, sollte auch reichen:
>
> Me!ID.SetFocus
> DoCmd.FindRecord Me!ListeAktivitaet
>
> > Das UfoElement ist mit dem Hfo verknüpft. Die Die ID des Hfo ist mit
> > dem Feld Person verknüpft, hat das vielleicht einen Einfluß?
>
> Du kannst mit der o.a. Technik grundsätzlich nur zu einem Datensatz
> springen, der aktuell im UFo verfügbar ist. Die Verknüpfung mit dem
> Hauptformular spielt insofern also schon eine Rolle.
Ja, genau so habe ich mir das auch gedacht, nur war ich mir nicht
sicher,
ob es weitere Einflüsse durch diese Verknüpfung gibt.

Allerdings: Eigentlich wollte ich das ID Feld des ufo nicht sichbar
haben, ist denn mit DoCmd.GoToRecord nix zu machen?

Grüße
Frank

Frank Sommer

unread,
Dec 2, 2007, 5:17:49 AM12/2/07
to
Hallo,

ja, ich würde auch was anderes machen, das ufo ist mit dem Hfo über
eine Verknüpfung
verbunden. Damit werden alle im Ufo neu erstllte DS automtisch dem im
Hfo
ausgewählten DS zugeordnet, insofern liegt hinter dem Ufo keine
Abfrage, nur die
verknüpfung.
Ich würde auch gern was anderes als FindRecord unter Zuhilfenahme von
ID.setFocus nehmen,
wie oben angedeutet, nur weis ich nicht wie ich den im Listenfeld
ausgewählte DS in GoToRecord
reinbekommen .... oder GoTorecord taugt dafür nicht?

Danke
Farnk

Karl Donaubauer

unread,
Dec 2, 2007, 5:22:29 AM12/2/07
to
Frank Sommer wrote:
>> ...

>> Me!ID.SetFocus
>> DoCmd.FindRecord Me!ListeAktivitaet
>>
>>> Das UfoElement ist mit dem Hfo verknüpft. Die Die ID des Hfo ist mit
>>> dem Feld Person verknüpft, hat das vielleicht einen Einfluß?
>>
>> Du kannst mit der o.a. Technik grundsätzlich nur zu einem Datensatz
>> springen, der aktuell im UFo verfügbar ist. Die Verknüpfung mit dem
>> Hauptformular spielt insofern also schon eine Rolle.
> Ja, genau so habe ich mir das auch gedacht, nur war ich mir nicht
> sicher, ob es weitere Einflüsse durch diese Verknüpfung gibt.
>
> Allerdings: Eigentlich wollte ich das ID Feld des ufo nicht sichbar
> haben, ist denn mit DoCmd.GoToRecord nix zu machen?

Lies noch einmal sorgfältig die schon angeführte
www.donkarl.com?FAQ4.4. Dort wird vom ersten Satz der "Lösung"
an auf diese Problematik eingegangen und eine zweite Methode mit
Codebeispiel angeführt, die ohne sichtbares Id-Feld auskommt.

Frank Sommer

unread,
Dec 2, 2007, 7:24:08 AM12/2/07
to
Hallo Karl,

danke für die Hinweise, jetzt funktioniet's!
Hatte die falsche gebundene Spalte benutzt.

Grüße
Frank

0 new messages