Hallo mergjo,
eigentlich ist es ein neues Thema, "Datum filtern", hat mit "Datensatz zu groß" nichts mehr zu tun.
Um dir mal zu zeigen, was mit OpenOffice Base alles geht, anbei ein Beispiel zum Filtern nach dem Monat.
Das geht mit oder ohne Makro.
Um beides zu sehen, muß unter
Extras/Optionen/OpenOffice.org/Sicherheit/Makrosicherheit die Ausführung von Makros z.B. durch Stufe "Mittel" zugelassen werden.
Wenn Du in der Datei das Formular "GeburtstagsFilter" öffnest, ist das Makro ausgeschaltet.
Jetzt kannst Du den Monat wählen und auf "Filtern" klicken.
Zwei Klicks, ohne Makro.
Schaltest Du mit dem rechten Button das Makro ein, wird das Formular direkt nach dem Ändern des Monats gefiltert.
Ein Klick, mit Makro.
Grundsätzlich habe ich zwei Tabellen benutzt.
Die erste Tabelle "Filter" hat nur eine Zeile und das soll auch so bleiben.
Darum hat das Formular "Filter" folgende vier Eigenschaften:
- Daten hinzufügen: Nein
- Daten ändern: Ja
- Daten löschen: Nein
- Nur Daten hinzufügen: Nein
Der Inhalt des Unterformulares "Personen" ist eine SQL-Abfrage:
Code: Alles auswählen
SELECT * FROM "Personen" WHERE ( MONTH( "Geburtstag" ) = :qMonth OR MONTH( "Geburtstag" ) > 0 AND :qMonth IS NULL )
Das Formular Personen ist über den Parameter
qMonth an das Feld
Monat der Tabelle
Filter gebunden.
Ob mit oder ohne Makro, es passiert Folgendes:
Mit dem Auswahllistenfeld wird die Monatszahl (Siehe Listeninhalt/Reiter Daten des Listenfeldes) des gewählten Monates in Tabelle
Filter eingetragen. Mit dem Klick auf "Filtern" wird das Formular
Personen aktualisiert,
qMonth ist dabei die eben in Tabelle
Filter eingetragene Monatszahl.
Das Makro erledigt ledig das Aktualisieren automatisch.
Wenn Du genau hinschaust, wirst Du feststellen, dass der November in der Auswahlliste des Listenfeldes nicht vorhanden ist. Dies liegt daran, dass das Listenfeld mit diesem SQL-Befehl befüllt wird:
Code: Alles auswählen
SELECT DISTINCT MONTHNAME( "Geburtstag" ) AS "Monatsname", MONTH( "Geburtstag" ) AS "Nummer" FROM "Personen" ORDER BY "Nummer" ASC
Da keine der Personen in Tabelle "Personen" im November Geburtstag hat, kann auch kein November gefunden werden.
Beste Grüße R