Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: datekk am September 20, 2019, 13:06:32

Titel: Listbox an ADODB Recordset zeig keine Daten an
Beitrag von: datekk am September 20, 2019, 13:06:32
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?

Titel: Re: Listbox an ADODB Recordset zeig keine Daten an
Beitrag von: Beaker s.a. am September 20, 2019, 13:22:12
@datekk
Hast du es mal mit der RowSource probiert?
Me.ListeVorhanden.RowSource = rcsquelle
gruss ekkehard
Titel: Re: Listbox an ADODB Recordset zeig keine Daten an
Beitrag von: datekk am September 20, 2019, 13:57:24
Ja, das funktioniert gar nicht... Typen unverträglich... Ich verstehe nicht, warum die Spaltenüberschriften ordentlich angezeigt werden, aber der Inhalt nicht...
Titel: Re: Listbox an ADODB Recordset zeig keine Daten an
Beitrag 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.... :-/
Titel: Re: Listbox an ADODB Recordset zeig keine Daten an
Beitrag von: markusxy am September 20, 2019, 16:21:01
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.
Titel: Re: Listbox an ADODB Recordset zeig keine Daten an
Beitrag von: datekk am September 21, 2019, 19:07:02
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... :)