Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Im Endlosformular werden bei Filter immer max 100 Datensätze angezeigt

Begonnen von Wurliwurm, Juli 29, 2010, 14:33:27

⏪ vorheriges - nächstes ⏩

Wurliwurm

Hallo zusammen,

vielleicht weiß einer, wie man mein Problem löst.

Ich arbeite mit Access 2003 unter XP in einem Endlosformular und einem ungebundenen Recordset.

Anzahl der Datensätze sind ein paar Tausend und die Liste wird komplett angezeigt. Komischerweise werden, wenn ich die Daten filtere, immer max. 100 Zeilen angezeigt. rs.RecordCount zeigt aber die richtige Zahl > 100 an.

Ich habe nirgendwo gefunden, wo man das einstellen kann und warum es genau 100 sind.


Der Code geht so:

Dim rsU as ADODB.Recordset
Set rsU = New ADODB.Recordset

With rsU
  .CursorLocation = adUseClient
  .CursorType = adOpenKeyset
  .LockType = adLockOptimistic
End With

With rsU.Fields
  .Append "Bukrs", adChar, 4
  (...)
End With

rsU.Open

...Dann wird gefüllt...

Felder anbinden

txtBUKRS.ControlSource = "BUKRS"
Set Me.Recordset = rsU

Dim strFilter as String
strFilter = "BUKRS = '4711'"
rsU.Filter = strFilter


Jetzt kommen immer max 100 Zeilen. Warum?

Danke für Denkanstöße
Johannes

database

Hallo,

hast du schon versucht mal an das Ende des Recordsets nach dem Füllen zu navigieren?

rsU.MoveLast

Damit veranlasst du, dass das Recordset sicher vollkommen befüllt wird.

HTH
Peter


Wurliwurm

Hallo Peter,

danke für den Tip, das hatte ich auch schon versucht, obwohl das sowieso nur bei einem Cursor auf der Datenbank etwas ausmacht und nicht bei völlig ungebundenen und per Schleife gefüllten Recordsets. Das Problem ist ja nicht, daß das Recordset nicht vollständig befüllt ist, sondern das es im Endlosformular nicht vollständig angezeigt wird, wenn es gefiltert ist.

Ich habe da später noch im englischsprachigen Web gegoogelt, es scheint sich um einen Bug (oder ein sinnfreies Feature) von Access zu handeln. Als Workaround übergebe ich jetzt das gefilterte Recordset per Schleife an ein ungefiltertes zweites Recordset (kein Clone!) und binde dieses an das Endlosformular an.

Grüße
Johannes