Wie kann ich die Parameterabfrage zwischen 1 und 12 beschränken, damit nicht der Monat 0 oder höher 12 eingegeben werden kann, was zu Fehlern führt.
Danke für Eure Mithilfe
Das kannst Du in einem Formular bestimmen. Rechtsklick auf das Formular und “Bearbeiten” wählen. Im Entwurfsmodus das Feld Doppelklicken. Es erscheint die Dialogbox “Eigenschaften”.
Dort hast Du die Möglichkeit einen min- und max-Wert zu definieren. Der Monat wurde von mir in der Tabelle als Zahl definiert. Die Eingabe kleinerer Werte als “1” ergibt die Eingabe “1”. Die Eingabe größerer Werte erzeugt den Wert “12”.
Danke ebot, jedoch hatte ich mich nicht klar ausgedrückt. Die Parameterabfrage sollte bei mir im Abfragebereich sein, damit ich Listen anzeigen kann.
MONTH( “Geburtstag” ) :Monatszahleingabe Mit SQL habe ich es nicht geschafft.
Danke nochmals
In der Abfrage wirken sich die anzugebenden Kriterien nur auf die mögliche Anzeige von Datensätzen aus. Ob es eine Lösung über SQL gibt kann ich Dir leider nicht sagen. Aber alternativ kannst Du auch ein Formular in Listenform aus einer Abfrage erstellen. Ist nach m.M. eleganter, weil sich die Felder dann auch formatieren lassen. Vielleicht hilft Dir das weiter.
Das geht nur, wenn Du die Parameterabfrage in einem Unterformular liegen hast und die Parameter aus dem Hauptformular weitergibst. Dann zieht das, was im Screenshot angegeben ist. Ohne ein Formular, nur mit dem Dialog, geht das nicht.
Danke Robert; ich werde mich mit dem Formularen intensiver beschäftigen. Vielleicht gibt es in einer neueren Version die Möglichkeit, den Wert bei den Listen einzugrenzen
Die Listen kannst Du doch genau festlegen - wenn Du mit Listenfeldern arbeitest. Da müssen nur die Werte nacheinander rein geschrieben werden.
Ich bin von der Parametereingabe in einer Abfrage ausgegangen, nicht von einem Formular. Und die Parametereingabe erfolgt in einem einzigen Textfeld und nicht in einem Listenfeld.
Hallo ebot und Robert!
Ich kam mit dem Formular nicht zurecht und habe mir mit SQL geholfen:
SELECT DISTINCT “Nachname”, “Vorname”, “Geburtstag”, DATEDIFF( ‘yy’, “Bewohner”.“Geburtstag”, CURRENT_DATE ) AS “Alter” FROM “Bewohner” WHERE MONTH( “Geburtstag” ) = :Monatszahleingabe ORDER BY DAY( “Geburtstag” ) ASC LIMIT 12
Bei Falscheingaben bleibt dann natürlich der Bildschirm leer.
Gruß Schwebebahn