Supportnet Computer
Planet of Tech

Supportnet / Forum / Datenbanken

ListBox Selected Problem





Frage

Hallo Fachleute In einem Formular stehen alle Daten zu jeweils einem Fahrzeug. Im gleichen Formular gibt es eine Listbox mit allen unseren Fahrzeugen. Wenn ich nun ein KFZ in der Listbox auswähle, erscheint passend dazu der betr. Datensatz im Formular. Wenn ich nun mit der Maus von KFZ zu KFZ scrolle, wär’s natürlich schön, wenn auch die entspr. Zeile in der Listbox markiert würde, also ".Selected = True". Alle Versuche führen bislang nur zu "Update oder Cancel Update ohne AddNew oder Edit". Hat jemand eine Idee, wie man das lösen kann, oder wie ich zumindest die Markierung in der ListBox gleich nach Klicken und Datensatzwechsel wieder entfernen kann? Gruß Conny

Antwort 1 von piano

Hallo
Im Formular-Ereignis "beim Anzeigen":
[Code]Private Sub Form_Current()
Me.Listenfeld1 = Me.KFZ_ID
End Sub
Gruß piano

Es wäre nett, wenn Du ein Feedback abgeben könntest,
ob der Lösungsvorschlag Dein Problem gelöst hat.



Antwort 2 von con-ny

Hallo piano,
Mit deinem Code kann ich sauber von einem KFZ zum nächsten scrollen ohne jede Fehlermeldung. Jetzt habe ich der Listbox folgenden Code unterlegt:
Private Sub lstFahrzeuge _Click()
Me.RecordsetClone.FindFirst "KFZ_ID = " & Me.Listenfeld1
Me.Bookmark = Me.RecordsetClone.Bookmark
End Sub
Damit wechselt der angezeigte Datensatz zum ausgewählten Fahrzeug. Obwohl die Mehrfachauswahl der Listbox auf "keine" steht, bleiben aber nach jedem Klicken ein paar andere Fahrzeuge markiert. Irdendwie kommen sich die Codes da wohl ins Gehege.
Hast du noch eine gute Idee?
Danke
Conny


Antwort 3 von piano

Hallo
Die Kombination der beiden Statements ist state of the art und muß sich vertragen.
Der vollständige Code eines Beispiels:
Private Sub Liste8_AfterUpdate()
    Dim rs As Object
    Set rs = Me.Recordset.Clone
    rs.FindFirst "[Nr] = " & Str(Nz(Me![Liste8], 0))
    If Not rs.EOF Then Me.Bookmark = rs.Bookmark
End Sub

Das Problem muss wo anders liegen, kann ich von der Ferne ohne konkreten Daten nicht analysieren.
Gruss piano

Antwort 4 von con-ny

Hallo piano

jetzt habe ich ein Me.Refresh zugefügt und alles klappt bestens. Herzlichen Dank für deinen Tipp, wär' ich selbst nicht drauf gekommen. Vielleicht sollte ich mir ein neues Access-Buch kaufen.
So fluppt's:

Private Sub lstFahrzeuge _Click()
Me.RecordsetClone.FindFirst "KFZ_ID = " & Me.Listenfeld1
Me.Bookmark = Me.RecordsetClone.Bookmark
Me.Refresh
End Sub

Also, danke nochmal und viele Grüße

Conny



Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: