2016-11-09 7 views

Antwort

1

Das Problem bekommen, ist dies:

Ihre Form ist gebunden an die Tabelle test_table; Sie können Daten in einer Reihe gebundener Felder anzeigen, indem Sie auf ein Element in der Listbox klicken. Sie ändern jedoch nie den aktuellen Datensatz der Tabelle und aktualisieren daher immer den ersten Datensatz mit den aktuell angezeigten Werten.

Anstatt die Listbox zu verwenden, verwenden Sie die Navigationsschaltflächen, die das Formular aktiviert, um zu dem Datensatz zu gelangen, den Sie aktualisieren möchten. Dann funktioniert Ihr Beispiel möglicherweise.

Alternativ Wenn Sie ID listbox der rowsource hinzugefügt, wenn man Sie so etwas wie tun konnte retten wollte:

Noch besser ist es, (zusätzlich zu dem oben) lösen die Form & die Kontrollen und die Verwendung ein Re-Cord-Set, um die aktuellen Werte der Felder in dem Formular anzuzeigen, wenn ein Datensatz in dem List-Feld ausgewählt wird. Dann müssen sich die Daten nicht in der Zeilenquelle der Listbox befinden, also würden Sie die Zeilenquelle in "SELECT ID, Dates FROM Test_Table" ändern und die columnwidths -Eigenschaft auf "0cm; 3cm" setzen, um die ID aus der Anzeige auszublenden. Dann ist jede Bezugnahme auf List8 ist ein Verweis auf die ID der aktuellen Datensatzes und

List8 = 4 

wird der ausgewählte Index der List8 auf die Zeile mit der ID = 4.

Dann setzen Sie nach dem Speichern können Sie

List8.Requery 
List8 = 4 
List8_Click 

wird die Daten aus der Datenbank erneut anzeigen.

Hoffe, das hilft

+0

danke für die Hilfe. Leider kann das immer noch nicht funktionieren. Ich bin mit diesem Datensatz: Dim db As Database Dim rec Als Recordset Set db = CurrentDb Set rec = db.OpenRecordset ("select * from tbl_ComplaintsCoded") rec.Edit rec ("Business Expert") = Me.Text5 rec.Update Me.List1.Requery – dmorgan20

+0

nach viel Spiel um dies funktioniert jetzt. Danke – dmorgan20

Verwandte Themen