Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Abfrage einer Tabelle, Bedingung in zweiter Tabelle

Begonnen von AccessLearningByDoing, Juni 27, 2011, 10:53:01

⏪ vorheriges - nächstes ⏩

AccessLearningByDoing

Hallo zusammen,

ich habe folgendes Problem bei der Erstellung einer Schluesselverwaltung und wäre dankbar wenn mir jemand helfen könnte:

Ich habe zwei Tabellen:

tblSchluessel
SchluesselID
Schluesselnummer
SchliessartF_ID
ObjektF_ID
HerstellerF_ID

tblSchluesselverleih
SchluesselverleihID
SchluesselF_ID
EmpfaengerF_ID
AusgeberF_ID
DatumVergabe
DatumRueckgabeFrist

Problem: Ich möchte eine Abfrage um später bei einem Verleihvorgang eines Schlüssels im Feld
tblSchluesselverleih.SchluesselF_ID immer nur die Schlüssel zur Auswahl stehen die im Moment nicht vergeben sind. Bisher versuche ich es mit folgender SQL-Anweisung:

SELECT tblSchluessel.SchluesselID, tblSchluessel.Schluesselnummer, tblSchluessel.SchliessartF_ID, tblSchluessel.ObjektF_ID
FROM tblSchluessel LEFT JOIN tblSchluesselverleih ON tblSchluessel.SchluesselID = tblSchluesselverleih.SchluesselF_ID
WHERE tblSchluessel.SchluesselID In (SELECT SchluesselF_ID FROM tblSchluesselverleih WHERE DatumRueckgabeFrist IstNull OR >=Datum());

Da bekomm ich aber dauernd nen Syntaxfehler und weiß nicht warum. Bedingung in Worten wäre: Alle Schlüssel, außer die, die in der tblSchluesselverleih sind und deren Feld DatumRueckgabeFrist leer ist (keine Rückgabefrist und noch verliehen) oder kleiner als das aktuelle Datum.

Wär klasse wenn mir jemand helfen könnte :)

  •  

DF6GL

#1
Hallo,


<<edit>>

SELECT tblSchluessel.SchluesselID, tblSchluessel.Schluesselnummer, tblSchluessel.SchliessartF_ID, tblSchluessel.ObjektF_ID
FROM tblSchluessel LEFT JOIN tblSchluesselverleih ON tblSchluessel.SchluesselID = tblSchluesselverleih.SchluesselF_ID
WHERE tblSchluessel.SchluesselID In (SELECT SchluesselF_ID FROM tblSchluesselverleih WHERE      DatumRueckgabeFrist Is Null OR DatumRueckgabeFrist >=Date()


AccessLearningByDoing

Hallo,

SELECT tblSchluessel.SchluesselID, tblSchluessel.Schluesselnummer, tblSchluessel.SchliessartF_ID, tblSchluessel.ObjektF_ID
FROM tblSchluessel LEFT JOIN tblSchluesselverleih ON tblSchluessel.SchluesselID = tblSchluesselverleih.SchluesselF_ID
WHERE DatumRueckgabeFrist Ist Null OR DatumRueckgabeFrist >=Datum()

Also wenn ichs so eingebe dann gehts immer noch net da kommt folgende Fehlermeldung:
"Syntax (fehlender Operator) in Abfrageausdruck 'DatumRueckgabeFrist Ist Null OR DatumRueckgabeFrist >=Datum()'."

Wenn ich aber ein = davor mach klappts auch net... weißt du was da fehlt?
  •  

DF6GL

Hallo,

ja, "Ist" muss "Is" heißen und "Datum()" "Date()"

AccessLearningByDoing

Jawoll danke! :) Bei dem Ist hat ichs mir auch schon gedacht und dran rumgespielt mit Is Null IsNull etc... aber ans Datum hatt ich nie gedacht^^ Danke :)
  •