Hallo tjay,
verstehe ich das richtig, dass Du nur nach einer Möglichkeit suchst, die Tage eines kompletten Monats entsprechend angezeigt zu bekommen?
Du übergibst ein Datum, möchtest dazu den entsprechenden Monat komplett angezeigt bekommen und gegebenenfalls zu dem Tag einen Eintrag in einem Unterformular zu dem Tag machen, richtig:
Erstelle eine Tabelle mit Werten von 1 - 31. Ich habe die für den folgenden Code "NrBis31" genannt. Die Tabelle besteht nur aus dem Feld "Nr". Das Feld ist Primärschlüssel bis Du alle Werte eingetragen hast. Danach die Primärschlüsseldefinition raus nehmen, damit die Tabelle nicht weiter editiert wird.
Code: Alles auswählen
SELECT DISTINCT
CAST( YEAR(:pDatum) || '-' ||
CASEWHEN
( "M"."Nr" < 10, '0' || "M"."Nr", '' || "M"."Nr" ) || '-' ||
CASEWHEN
( "D"."Nr" < 10, '0' || "D"."Nr", '' || "D"."Nr" )
AS DATE )
AS "Datum"
FROM "NrBis31" AS "D", "NrBis31" AS "M"
WHERE
"M"."Nr" = MONTH(:pDatum)
AND "D"."Nr" <= 31
Wenn Du bei dieser Abfrage ein Datum eingibst, dann werden Dir alle Datumswerte zu dem entsprechenden Monat ausgegeben - in der Abfrage leider als Zahlen, aber für das Formular macht das nichts.
Diese Abfrage setzt Du jetzt als Quelle in das Unterformular, in dem bisher nur zwei Datumswerte auftauchen. Verknüpft wird mit dem Parameter :pDatum. Damit hast Du alle Datumswerte für den Monat des Hauptformulars zur Verfügung.
Gruß
Robert