Listbox Auswahl

Hallo,

Ich möchte aus einer angezeigten Listbox per Doppelklick auf den richtigen Datensatz in meinem Unterformular kommen.

Private Sub Liste_DblClick(Cancel As Integer)
DoCmd.OpenForm „Suchmaske“
Forms![UF1].Personennummer = Me.Liste.Value
End Sub

funktioniert leider nicht !
kann jemand mit dem richtigen Code helfen ?

Gruß Christian

Hallo,

Ich möchte aus einer angezeigten Listbox per Doppelklick auf
den richtigen Datensatz in meinem Unterformular kommen.

WO ist die Listbox?

Handelt es sich um ein wirkliches UFO-Steuerelement (Unterformular)?

Private Sub Liste_DblClick(Cancel As Integer)

DoCmd.OpenForm „Suchmaske“ ’ warum ein extra Suchform öffnen?

Forms![UF1].Personennummer = Me.Liste.Value ’ das wäre so oder so falsch

End Sub

lt. Code kann ich nicht interpretieren, was was ist.

Beschreib die Formularkonstellation etwas genauer…

Eine einfache Variante wäre, falls das Listenfeld auf Einzelauswahl gestellt in einem Hauptform steckt und ein UFO (im Hauptform platziert) filtern soll, die Eigenschaften „Verknüpfen von/nach“ des UFO-Steuerelementes etwa so einzustellen:

„…von“ : [Personennummer]
„…nach“: [lstListenfeld1].Column(0)

Viele Grüße vom Bodensee
Franz, DF6GL

Hallo Franz,
Ich arbeite mit Access 2003

Die Listbox befindet sich auf einem gaaaanzz normalen Formular.
Bei Doppelklick auf einen der angezeigten Datensätze soll Access das Formular „Suchmaske“ öffnen und in dessen UF1 den angeklick Datensatz anzeigen.

Hilft das ? - oder brauchst Du noch weitere Infos ?

Gruß Christian

Hallo,

Ich arbeite mit Access 2003

ok

Die Listbox befindet sich auf einem gaaaanzz normalen
Formular.

Wie „normal“ ist „gaaaanzz“ ??

Bei Doppelklick auf einen der angezeigten Datensätze soll
Access das Formular „Suchmaske“ öffnen und in dessen UF1 den
angeklick Datensatz anzeigen.

Hilft das ? - oder brauchst Du noch weitere Infos ?

naja… Die Frage besteht, warum die DS durch ein UFO angezeigt werden sollen . Ist das UFO mit dem Hauptform irgendwie verknüpft? Oder/und ist das Hauptform („Suchmaske“) das eigentliche „Suchform“?

Sub lstListe1_DblClick()
Docmd.Openform „Suchmaske“ ,Me!lstListe1.Column(0)
End sub

falls in der ersten Listenspalte der ID-Wert steht.

und in „Suchmaske“:

Sub Form_Load()
Dim rs as Dao.Recordset
set rs=Me!UF1.Form.Recordsetclone
If not isNull (Me.Openargs)
rs.Findfirst „ID=“ & Me.Openargs 'falls „ID“ in der Tabelle den Datentyp Zahl,Long hat
If not rs.Nomatch then Me!UF1.Bookmark=rs.Bookmark
End If
set rs=Nothing
End Sub

Viele Grüße vom Bodensee
Franz, DF6GL

Hallo Franz

Wie „normal“ ist „gaaaanzz“ ??

so normal wie nur irgend geht !

Bei Doppelklick auf einen der angezeigten Datensätze soll
Access das Formular „Suchmaske“ öffnen und in dessen UF1 den
angeklick Datensatz anzeigen.

Das mit dem Wechsel auf „Suchmaske“ klappt.
Aber der Datensatz auf den dbl geklickt wurde, erscheint nicht in dem UF1, welches sich auf dem Formular „Suchmaske“ befindet.

naja… Die Frage besteht, warum die DS durch ein UFO
angezeigt werden sollen . Ist das UFO mit dem Hauptform
irgendwie verknüpft? Oder/und ist das Hauptform („Suchmaske“)
das eigentliche „Suchform“?

klares nein ! Das UFO ist auf dem Hauptformular „Suchmaske“ !

Private Sub Liste_DblClick(Cancel As Integer)
DoCmd.OpenForm „Suchmaske“, , , , , , Me!Liste.Column(0)
End Sub

falls in der ersten Listenspalte der ID-Wert steht.

Korrekt !

Viele Grüße vom Bodensee

Viele Grüße zurück aus Büttenwarden !
Christian

Hallo,
ich kann mich mit dieser UFo-Geschichte nicht anfreunden…

wie dem auch sei, setz mal einen Haltepunkt in den Code des Load-Ereignisses und prüfe, ob Openargs den richtigen Wert besitzt und prüfe den Durchlauf durch den Rest des Codes.

Viele Grüße vom Bodensee
Franz, DF6GL

Hallo Franz,

hab ich gemacht.
Das Kriteriumsfeld (Personennummer) wird auch ordnungsgemäß gefüllt.

jetzt fehlt nur noch, daß die Befehlsschaltfläche 5 ausgelöst wird,

damit mit der folgenden Prozedur der Kundensatz im UF1 angezeigt wird.

Private Sub Befehl5_Click()

Dim Krit, Krit1 As String
Krit = „“
If Not IsNull(Me!Personennummer) Then Krit = " Where Personennummer LIKE ‚" & Me!Personennummer & "‘ "
Me!UF1.Form.RecordSource = "SELECT * FROM Kunden Abfrage " & Krit

End Sub

Gibt es so etwas wie „DoCmd.Befehl5_Click()“ ???

Danke !

Hallo,

Gibt es so etwas wie „DoCmd.Befehl5_Click()“ ???

—> Befehl5_Click()

Viele Grüße vom Bodensee
Franz, DF6GL

Hallo Franz,

das meine ich nicht.
ich meine, ob man den Klick auf die Befehlsschaltfläche5 nicht in die Prozedur nit einarbeiten kann.

also: Auf dblclick füllt er das Feld mit dem Suchkriterium, aber dann muss immernoch die Auslösetaste (Befehlsschaltfläche5) geklickt werden, um den richtigen Datensatz im UF1 anzuzeigen.

Und genau den zweiten Part meine ich. Klick auf Befehlsschaltfäche Befehl5 !!

Danke

Hallo,

:wink:

doch, das hast Du schon gemeint…

Auf eine Schaltfläche klicken kann man per VBA nicht… das kann nur mit der Maus (oder Tastatur) geschehen. Man kann aber die Prozedur, die durch das Klickereignis ausgelöst wird, auch direkt aufrufen, so wie ich es gepostet habe…

Viele Grüße vom Bodensee
Franz, DF6GL

Hallo,

selbst Hallo

:wink:
-(

doch, das hast Du schon gemeint…

woher Du wissen ?

Auf eine Schaltfläche klicken kann man per VBA nicht… das
kann nur mit der Maus (oder Tastatur) geschehen. Man kann
aber die Prozedur, die durch das Klickereignis ausgelöst wird,
auch direkt aufrufen, so wie ich es gepostet habe…

Hab ich versucht mit:
Private Sub Liste_DblClick(Cancel As Integer)
Dim StrSQL, Krit, Krit1 As String
DoCmd.OpenForm „Suchmaske“, , , , , , Me!Liste.Column(0)
Forms![Suchmaske].Personennummer = Me.Liste.Value
Befehl5_Click()
End Sub

Antwort Fehler beim Compilieren
Erwartet: =

Was nun - sprach Zeuss

Viele Grüße vom Bodensee

Grüße zurück !

Hallo,

wir schweifen vom Ausgangsproblem ab…

Die "Klick-Geschichte brauchst Du nicht…

In meinem früheren Posting habe ich Dir den Code geschrieben, der alles erledigt.

Wenn der nicht das tut , was er soll, müssen wir (Du) ihn anpassen/debuggen. Dazu setz auch mal einen Haltepunkt in die Load-Ereignisprozedur des Suchforms und prüf das Geschehen dort…

Viele Grüße vom Bodensee
Franz, DF6GL

Hallo Franz,

Das bringt mich nicht wirklich weiter !

Stopp habe ich gesetzt - RecordSource sieht so aus:

SELECT * FROM Kunden AS Abfrage WHERE Personennummer LIKE ‚10139747‘;

Ich wollte das aber nicht aus einer Abfrage, sondern aus der Tabelle „Kunden“.

Außerdem reagiert das UF1 nicht. es braucht doch nur noch der Befehl5 ausgelöst werden !! -Dann ham wir’s ja !

Kannst Du nun helfen ?

Christian

Hallo Christian,

sorry, ich kann nicht weiterhelfen.

Ich weiß immer weniger, was Du mit welchem Code anstellst…

  1. Du brauchst die Klickgeschichte nicht!!
  2. von Recordsource hab ich nie was geschrieben.
  3. unbekannt ist auch welche Recordsource (von welchem Form) Du überhaupt meinst…