Hi,
ich habe folgenden Code:
Dim rcsquelle As ADODB.Recordset
Set rcsquelle = New ADODB.Recordset
rcsquelle.CursorLocation = adUseClient
rcsquelle.Fields.Append "Name", adVarWChar, 50
rcsquelle.Fields.Append "Nummer", adInteger
rcsquelle.Open , , adOpenKeyset
rcsquelle.AddNew
rcsquelle!Name= "Test"
rcsquelle!Nummer= "1"
rcsquelle.AddNew
rcsquelle!Name= "Test2"
rcsquelle!Nummer= "2"
Set Me.ListeVorhanden.Recordset = rcsquelle
Problem ist nur, dass die Listbox nix anzeigt. Sie zeigt die Überschriften "Name" und "Nummer" an, es werden aber keine Einträge angezeigt. Man kann sehen, dass die Listbox mit zwei Einträgen befüllt ist, aber es wird wirklich nix angezeigt.
Das Recordset zeigt mit rcsquelle.Recordcount zwei Datensätze an, auch bekomme ich mit debug.print rcsquelle.Fields(0) das Ergebnis "Test" - aber warum werden die Einträge dann nicht in der Listbox angezeigt?
@datekk
Hast du es mal mit der RowSource probiert?
Me.ListeVorhanden.RowSource = rcsquelle
gruss ekkehard
Ja, das funktioniert gar nicht... Typen unverträglich... Ich verstehe nicht, warum die Spaltenüberschriften ordentlich angezeigt werden, aber der Inhalt nicht...
Ergänze vor dem rcsquelle.Open noch folgendes:
rcsquelle.LockType = adLockOptimistic
...aber frag mich nicht warum.... :-/
Zitat von: PhilS am September 20, 2019, 14:14:03
Ergänze vor dem rcsquelle.Open noch folgendes:
rcsquelle.LockType = adLockOptimistic
...aber frag mich nicht warum.... :-/
Die Erklärung ist recht simpel.
rcsquelle.Open , , adOpenKeyset ist nicht möglich.
Es wird daher wird automatisch adLockBatchOptimistic verwendet.
Damit die Daten angezeigt werden (in Access Controls) müsste also ein UpdateBatch durchgeführt werden.
Zitat von: PhilS am September 20, 2019, 14:14:03
Ergänze vor dem rcsquelle.Open noch folgendes:
rcsquelle.LockType = adLockOptimistic
...aber frag mich nicht warum.... :-/
Ich danke Dir. Das hat geholfen... :)