Datum für WHERE-Bedingung aus Unterabfrage
Hallo zusammen,
ich möchte das Ergebnis einer Unterabfrage als Bedingung für die Hauptabfrage nutzen. Mein Code (der leider nicht funktioniert) sieht so aus:
Neu: Wenn([art_anl_dat]<(select value from dbparam where param = 'DefineDateNeu');"0";"1")
In der Tabelle dbparam wir das Datum als string gespeichert, in der anderen Tabelle als Timestamp.
Wie muss ich den Code nun ändern, dass er läuft?
Danke euch schonmal!!
ich möchte das Ergebnis einer Unterabfrage als Bedingung für die Hauptabfrage nutzen. Mein Code (der leider nicht funktioniert) sieht so aus:
Neu: Wenn([art_anl_dat]<(select value from dbparam where param = 'DefineDateNeu');"0";"1")
In der Tabelle dbparam wir das Datum als string gespeichert, in der anderen Tabelle als Timestamp.
Wie muss ich den Code nun ändern, dass er läuft?
Danke euch schonmal!!
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 134971
Url: https://administrator.de/contentid/134971
Ausgedruckt am: 23.11.2024 um 02:11 Uhr
8 Kommentare
Neuester Kommentar
Moin maik87,
Aber okay... heute beschleunigen wir ja auch das Wirtschaftswachstum per Gesetz...
Wenn ich dieses Gestrunkele richtig interpretiere...
1. Der Vergleichsstring für den Inhalt des Feldes param ist im Gegensatz zu allen anderen Vergleichsstrings in einfachen statt doppelten Anführungszeichen
2. Das Ergebnis value , sollte es denn zurückkommen, ist nach deinem Bekunden ein Char/VarChar-Wert "in Datumsformat".
Wenn du den Vergleichen willst mit einem Datum, dann muss (mindestens) einen der beiden Werte konvertieren.
Falls du aus dem Wert value also ein datevalue machen willst... wie könnte wohl die Funktion dafür heißen?
Richtig! die heißt "DateValue()".
In einem früheren Leben war ich bestimmt Access-Assistent...
Ändere doch mal spassmäßig das "select value from dbparam where bla" in "select DateValue(value) from dbparam WHERE bla"
Und wie ich Unterschleißheimer einschätze wird die Funktion DateValue() bestimmt in der Stützrad-Variante zu DatWert() ...
(Deren deutsche Funktionen sehen immer aus wie das, was beim Scrabble übrig bleibt, nur liebloser)
Grüße
Biber
Ich bastel eine ganz normale Abfrage über das "Zusammenklickding"
Ich weiß ja nicht... "eine ganz normale Abfrage über das "Zusammenklickding"... ist für mich ein Widerspruch in sich...Aber okay... heute beschleunigen wir ja auch das Wirtschaftswachstum per Gesetz...
Wenn ich dieses Gestrunkele richtig interpretiere...
Neu: Wenn([art_anl_dat]<(select value from dbparam where param = 'DefineDateNeu');"0";"1")
..dann müsste doch das, was deine Access-Stützräder irgendwie zum Eiern bringt dieses hier sein(select value from dbparam where param = 'DefineDateNeu')
..und daran fallen mir zwei Sachen auf, die ich mal probeweise wegeditieren würde:1. Der Vergleichsstring für den Inhalt des Feldes param ist im Gegensatz zu allen anderen Vergleichsstrings in einfachen statt doppelten Anführungszeichen
2. Das Ergebnis value , sollte es denn zurückkommen, ist nach deinem Bekunden ein Char/VarChar-Wert "in Datumsformat".
Wenn du den Vergleichen willst mit einem Datum, dann muss (mindestens) einen der beiden Werte konvertieren.
Falls du aus dem Wert value also ein datevalue machen willst... wie könnte wohl die Funktion dafür heißen?
Richtig! die heißt "DateValue()".
In einem früheren Leben war ich bestimmt Access-Assistent...
Ändere doch mal spassmäßig das "select value from dbparam where bla" in "select DateValue(value) from dbparam WHERE bla"
Und wie ich Unterschleißheimer einschätze wird die Funktion DateValue() bestimmt in der Stützrad-Variante zu DatWert() ...
(Deren deutsche Funktionen sehen immer aus wie das, was beim Scrabble übrig bleibt, nur liebloser)
Grüße
Biber
Moin Kalle@Work,
bei mir (Access 2002/2003) funktionieren sowohl cDate("datumsstring") wie auch DateValue("DatumsString").
gibt es bei Access 2007 die DateValue() nicht mehr?
beispiel-Statement unter ACC2002:
[ geht auch ganz ohne .."FROM Tabelle .."]
Ausgabe as should do.
Bei direktem Einfügen von "ZDatum()" oder "DatWert()" in das SQL-Eingabefenster bekomme ich natürlich auch "unbekannte Funktion ZDatum()".
Grüße
Biber
bei mir (Access 2002/2003) funktionieren sowohl cDate("datumsstring") wie auch DateValue("DatumsString").
gibt es bei Access 2007 die DateValue() nicht mehr?
beispiel-Statement unter ACC2002:
SELECT DateValue("20.11.2006") as DateValue , Month( DateValue("20.11.2006")) as monthDV, Day( DateValue("20.11.2006")) as DayDV,
cDate("20.11.2006") as cDate , Month( cDate("20.11.2006")) as monthCD, Day( cDate("20.11.2006")) as DayCD
Ausgabe as should do.
DateValue monthDV DayDV cDate monthCD DayCD
20.11.06 11 20 20.11.06 11 20
Bei direktem Einfügen von "ZDatum()" oder "DatWert()" in das SQL-Eingabefenster bekomme ich natürlich auch "unbekannte Funktion ZDatum()".
Grüße
Biber