Seite 1 von 1

Abfrage mit Parameterübergabe für Kriterium

Verfasst: Sa, 20.06.2009 23:49
von mlebek
Hallo,

ich habe eine Abfrage erstellt, die die Mitgliederanzahl zu einem bestimmten Datum ermittelt.

Code: Alles auswählen

SELECT COUNT( "ID" ) AS "Mitglieder" FROM "Statistik_a" AS "Statistik_a" 
WHERE ( "Eintrittsdatum" <= {D '2008-01-01' } AND ( "Austrittsdatum" > {D '2008-01-01' } OR "Austrittsdatum" IS NULL ) )
Jetzt würde ich natürlich gerne die Mitgliederanzahl zu einem beliebigen Datum abfragen. Gibt es eine Möglichkeit, zB mittels Parameterübergabe nach beliebigem Datum abzufragen?

Manfred

Re: Abfrage mit veränderbarem Kriterium

Verfasst: So, 21.06.2009 04:16
von komma4
Wenn wir wüssten, welches OOo, welche Datenbank, welches Spaltenformat (DATE, TIMESTAMP), wie Du die Abfrage einsetzen willst (Formular oder im BASIC Code), und wie Du Dir die Eingabe des Auswahldatums vorstellst ... dann könnten wir Dir vielleicht konkret helfen.


Generell geht das natürlich, wobei (bei vermuteter OOo intener HSQLDB*) die Funktionen mit DATUM sehr eingeschränkt ist. Inwieweit Deine Abfrage mit Formularen geht kann ich mangels Erfahrung auch nicht sagen: meine OOo-"Standardversion" 3.0.1 verhält sich mit Formularen äusserst merkwürdig.


* hier LINK zur HSQLDB-Dokumentation

Re: Abfrage mit veränderbarem Kriterium

Verfasst: So, 21.06.2009 08:02
von mlebek
Ich nutze OOo 3.0.0, Feldtyp ist DATE, die Abfrage ist eine normale Abfrage und das Datum soll per Dialogfenster abgefragt werden.

Ich möchte es nicht als Macro machen, weil ich dann wohl bei jedem Benutzer(Terminalserver) die Datenbank registrieren müsste.

Ich hatte schon mit der Parameterabfrage in Abfragen experimentiert, aber wie ändert man damit Kriterien?

Re: Abfrage mit veränderbarem Kriterium

Verfasst: So, 21.06.2009 14:05
von komma4
Datenbank HSQLDB -oder MySQL (hast mal eine MySQL-Frage gepostet).
per Dialogfenster abgefragt werden.
Ich möchte es nicht als Macro
Wie erstellst Du einen Dialog ohne Makros?
die Datenbank registrieren müsste.
Andrew behauptet, dass es nicht nötig sei: Andrews Base-Dokument, S 62
Andrew hat geschrieben:You can manipulate a database without a registered data source. The data source is the database document. Listing 31 demonstrates how to obtain a data source based on its URL




Wie rufen die Anwender die Abfrage auf - wie soll das Ergebnis verarbeitet werden?



Ich weiss nicht wie ich Dir helfen kann ...

Re: Abfrage mit veränderbarem Kriterium

Verfasst: So, 21.06.2009 14:43
von mlebek
Es ist HSQLDB
komma4 hat geschrieben:Wie erstellst Du einen Dialog ohne Makros?
Indem ich in der Designansicht einer Abfrage, einen Doppelpunkt vor einer Frage platziere, das erzeugt beim Ausführen ein Dialogfenster mir Eingabefeld.

Die Anwender rufen die Abfrage mit einem Doppelklick auf?, wobei ich den Eindruck habe dass du etwas anderes unter Abfrage verstehst als ich, meinst du eine SQL-Abfrage, ich meine die Openoffice Base Abfrage.

das mit dem Makro wäre dann die letzte Alternative.

Re: Abfrage mit veränderbarem Kriterium

Verfasst: So, 21.06.2009 15:33
von komma4
Du meinst das Dialogfenster der Parameterabfrage.

Code: Alles auswählen

SELECT * FROM "tabellename" WHERE "datum" < :eingabe

Re: Abfrage mit veränderbarem Kriterium

Verfasst: So, 21.06.2009 16:29
von mlebek
Es funktioniert! Sogar mit dem gleichen Parameter in mehreren Kriterien.

Ich hab jetzt folgende SQL-Anweisung im Einsatz:

Code: Alles auswählen

SELECT COUNT( "ID" ) AS "Mitglieder" FROM "Statistik_a" AS "Statistik_a" WHERE ( "Eintrittsdatum" <= :Datum_eingeben AND ( "Austrittsdatum" > :Datum_eingeben OR "Austrittsdatum" IS NULL ) )
Die Abfrage verlangt beim Start die Eingabe eines Datums, überprüft die korrekte Schreibweise und setzt den eingegebenen Wert dann in alle Kriterien mit gleichnamiger Variable.