Supportnet Computer
Planet of Tech

Supportnet / Forum / Datenbanken

SELECT WHERE BETWEEN





Frage

Ich sitze hier und komme nicht weiter wegen eine dumme SQL-Abfrage. Vielleicht kann mir einer helfen !! Ich möchte Tabellendaten ausgeben lassen von einer bestimmten Firma und die zwischen zwei Datumsangaben liegen. Dabei sollen die zwei Datumsangaben parameter sein ... zum selber eingeben. Folgendes funktionier super ... aber mit festem Datum : SELECT Zeiterfassung.*, Zeiterfassung.Datum FROM Zeiterfassung WHERE Firma = ? and Datum>=#2/1/2004# And Datum<=#3/1/2004#; ...ist wahrscheinlich irgendwas einfaches wo ich wegen "zuviel überlegen" gerade nicht drauf komme ???

Antwort 1 von Roadrunner90

Hallo Laura,
du musst, wenn das Datum als Parameter kommt auch die # verwenden. Also ungefähr so:

where Datum >= '#' & vondatum & '#' and Datum <=
& '#' bisdatum & '#'

ich bau mir für die einfachere Handhabung immer den SQL-String in einer Variablen zusammen.

Gruß Rudolf

Antwort 2 von Laura

Hi Rudolf,

Ich schaff's einfach nicht ...

wenn ich folgendes abfrage :

SELECT Zeiterfassung.*, [Zeiterfassung].[Datum]
FROM Zeiterfassung
WHERE Firma=[?];

oder

SELECT Zeiterfassung.*, [Zeiterfassung].[Datum]
FROM Zeiterfassung
WHERE Datum<=[?];

klappt es natürlich ... aber er nimmt kein 2. parameter ...

bei "WHERE Datum>=[?] And Datum<=[?]" und "WHERE Firma=[?] And Datum<=[?]" fragt er auch nur einmal nach einem parameter.

In VB6 habe ich folgende Abfrage :

SELECT Zeiterfassung.*, Datum AS Expr1, Firma AS Expr2
FROM Zeiterfassung
WHERE (Datum >= ?) AND (Firma = ?)

diese 2 Parameter (Expr1 und Expr2) werden durch Textfelder übergeben und klappt auch super. Aber in access habe ich keine Textfelder die die Parameter übergeben können ...


Hast du noch eine idee ???
Kennst du dich zufällig mit Crystal Reports aus ??

Laura


Antwort 3 von Knubbel

Hallo Laura,

ich kenne mich nicht mit VBA aus, daher kann ich auch keine Lösung zu einem Code anbieten.

Aber, warum erstellst du nicht eine Auswahlabfrage und gibst bei Datum als Kriterium folgendes ein:
ZWISCHEN[von Datum]UND[bis Datum]
Ebenso kannst du bei Firma als Kriterium angeben:
Wie("*"+[Firmenauswahl]+"*")

Durch diese Kriteriumangaben werden zunächst die Parameter abgefragt (bei Firma reichen fragmente des Namens) und dann die Auswahlabfrage ausgeführt.

mfg Knubbel


Antwort 4 von Laura

Hi Rudolf & Knubbel,

danke für euer Hilfe !! Ich glaube ich hab's jetzt ... :

SELECT Zeiterfassung.*, Datum AS Expr1, Datum AS Expr2,Firma AS Expr3
FROM Zeiterfassung
WHERE (Datum >= ?) AND (Datum <= ?) AND (Firma = ?)
ORDER BY Datum

Jetzt weis ich nur nicht wie ich dies in Crystal Reports eingebunden bekomme. :-(

Laura

Antwort 5 von Roadrunner90

Hi Laura,

das sollte in Crystal Reports auch so funktionieren. Soweit ich weiss kann man da auch SQL-Statements einbinden.

Gruß Rudolf

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: