none
Falsche Datensatzanzahl nach Filterung eines Unterformulars

    Frage

  •   Me![qry_GAListe_fuer_Auswahl Unterformular].Form.FilterOn = True
        Me![qry_GAListe_fuer_Auswahl Unterformular].Form.Filter = filterstr
        Debug.Print Me![qry_GAListe_fuer_Auswahl Unterformular].Form.Recordset.RecordCount
        Me![qry_GAListe_fuer_Auswahl Unterformular].Form.Requery

    Mit diesem Code versuche ich die Datensätze eines UFos zu filtern.

    Der filterstr wird anhand einer Kombobox ausgewählt/generiert.

    Die Debug.print-Zeile gibt jetzt allerdings die falsche Anzahl Zeilen aus - nämlich 7, was der Anzahl der SICHTBAREN Zeilen im UFo entspricht; tatsächlich sin aber wesentlich mehr Datensätze da.

    Drehe ich die letzten beiden Zeilen herum (Requery VOR Debug.print ) dann wird 8 angezeigt.

    Was ist daran verkehrt ? Wie mache ich es besser?

    Donnerstag, 3. Oktober 2013 06:12

Alle Antworten

  • Hallo!

    Ich würde die ersten beiden Zeile im Code umgekehrt schreiben. Also erst den Filter setzen und dann den Filter aktivieren:

    Me![qry_GAListe_fuer_Auswahl Unterformular].Form.Filter = filterstr
    Me![qry_GAListe_fuer_Auswahl Unterformular].Form.FilterOn = True

    Das löst zwar nicht unbedingt Dein Problem; für mich wird aber der Code leichter verständlich.


    Drehe ich die letzten beiden Zeilen herum (Requery VOR Debug.print ) dann wird 8 angezeigt.

    Ist denn die 8 als Ergebnis richtig? Dann hast Du doch schon die Lösung.

    Grüße


    Thomas@Team-Moeller.de
    Blog: Blog.Team-Moeller.de
    Homepage: www.Team-Moeller.de
    Samstag, 5. Oktober 2013 07:35
  • Sorry, meine ANgaben waren offenbar doch nicht so klar .

    7 wäre die ANzahl der SICHTBAREN Zeilen, 8 eben eins mehr;

    Die tatsächliche Anzahl liegt jedoch meist WESENTLICH höher - je nach Filterung 30-40 oder auch 700 Datensätze.

    Beim Herumspielen habe ich festgestellt, daß ich meist 2x den gleichen Filter anwenden muss , ehe etwas passiert.

    Sonntag, 6. Oktober 2013 15:13
  • Hallo!

    hast Du eigentlich, wie vorgeschlagen, die Reihenfolge der beiden ersten Befehle getauscht?

    CU


    Thomas@Team-Moeller.de
    Blog: Blog.Team-Moeller.de
    Homepage: www.Team-Moeller.de


    Sonntag, 6. Oktober 2013 15:26
  • Ja - aber kein greifbarer Erfolg
    Sonntag, 6. Oktober 2013 21:08
  • Hallo!

    Eine Idee habe ich noch. Setz mal bitte ein DoEvents vor den Befehl mit dem Debug.Print.

    HTH


    Thomas@Team-Moeller.de
    Blog: Blog.Team-Moeller.de
    Homepage: www.Team-Moeller.de



    Montag, 7. Oktober 2013 17:27
  • Debug.Print FilterStr

    Mach es dir doch einfach, lass dir anzeigen was im filterstr enthalten ist. Jetzt das qry_GAListe aufrufen und den Filter als Where Bedingung einfügen. Wie sieht das Ergebnis aus?

    Servus
    Winfried

    GPOs: http://www.gruppenrichtlinien.de/
    WSUS Package Publisher: http://wsuspackagepublisher.codeplex.com/

    Montag, 7. Oktober 2013 17:38