Ich habe eine Maske deren RecordSource eine Tabelle ist. In der Tabelle gibt es unter anderem ein Feld Datum und ein Feld IdKat für die Zuordnung zu einer Kategorie.
Im Formularkopf habe ich 3 Comboboxen. Box 1 für das Jahr, Box 2 für den MOnat und Box 3 für die Kategorie. Alle 3 Boxen liefern numerische Werte für Jahr, Monat und die Kategorien-ID. In einer Filterfunktion baue ich dann daraus den Filter. An sich funktioniert das einwandfrei. Aber es wird immer ein Datensatz mit angezeigt, der zu einer andere Kategorie gehört. Es ist auch immer der selbe Datensatz. Lösche ich den Datensatz, nimmt ein anderer Datensatz dieses merkwürdige Verhalten an. Wenn ich anstelle des Filters die RecorsdSource der Maske mit einem ensprechenden SQL-Select füttere habe ich das gleiche Ergebnis. Wenn ich eine Abfrage erzeuge, dann liefert diese das korrekte Ergebnis. Es passiert also nur in der Maske.
Private Sub SetFilter()
Me.Filter = year(datum)=" & Me.Jahr_.Value & " AND month(datum)=" & Me.Monat_.Value & " AND iduk=" & Me.UKat.Value
Me.FilterOn = True
Me.Refresh
End Sub
Gruß Thomas
Hallo Thomas,
Vor "year" fehlen die ". Wundere mich allerdings warum so kein
LZ-Fehler ausgelöst wird.
Und wenn
Zitatein Feld IdKat
das Gleiche Feld ist wie
AND iduk sollte es dann funzen.
gruss ekkehard
Die Anführungsstriche fehlen nur hier. Da hatte ich schnell den Code außerhalb von Access zurückgestrickt, den ich testweise mit dem SQL-Select als RecordSource hatte. Da sind die beiden Zeichen abhanden gekommen.
Hallo,
trotzdem unklar, was genau du nun hast:
zeige mit:
C&P den Filterstring
C&P die Datensatzherkunft des Kombis
mittels Screenshot die Eigenschaften des Kombis:
Gebundene Spalte
Spaltenbreiten
Welchen Datentyp hat "datum" in der Tabelle? (wobei "datum" als Feldname latente Fehler verursachen kann)
oder lade die Datei (komprimiert/repariert und gezippt) hier hoch...
So, ich habe die Maske gelöscht und nochmal komplett neu gemacht. Jetzt geht es.
Gruß Thomas