ERLEDIGT
NEIN
NEIN
ANTWORTEN
1
1
ZUGRIFFE
3472
3472
EMPFEHLEN
-
16.01.07 15:52 #1
- Registriert seit
- Sep 2004
- Ort
- Möglingen (BaWü)
- Beiträge
- 3.109
Hallo,
ich experimentiere gerade ein bisschen mit Access herum.
In der DB git es im Moment 3 Tabellen (Ok, es sind mehr aber die 3 sind wichtig):
a) Zimmer (Nummer, Beschreibung, Artikelgruppe und Preis),
b) Ausstattung (Artikelnummer und Ausstattungsmerkmal) und
c) Reservierung (Artikelnummer, Von und Bis)
So und hier das Problem :
Ein Zimmer kann an verschiedenen Tagen reserviert/vermietet sein. Wenn ich jetzt wissen will welche Zimmer einer bestimmten Gruppe, sagen wir vom 15.01.07 bis 19.01.07 verfügbar sind, ermittle ich dies über zwei gespeicherte Abfragen.
Die Daten (Datum von, Datum bis und Gruppe) stammen von dem Formular von dem aus die Abfrage(n) aufgerufen werden.
Abfrage1:
Code :1 2 3
SELECT reservierung.zimmernummer, reservierung.datum_von, reservierung.datum_bis FROM reservierung WHERE (((reservierung.datum_von) Between [Forms]![reservierung].[txtDatum_von] And [Forms]![reservierung].[txtDatum_bis])) OR (((reservierung.datum_bis) Between [Forms]![reservierung].[txtDatum_von] And [Forms]![reservierung].[txtDatum_bis])) OR (((reservierung.datum_von)<=[Forms]![reservierung].[txtDatum_von]) AND ((reservierung.datum_bis)>=[Forms]![reservierung].[txtDatum_bis]));
Ermittelt zunächst die Zimmer die NICHT verfügbar sind.
Abfrage2:
Code :1 2 3 4
SELECT zimmer.nummer, zimmer.beschreibung FROM zimmer LEFT JOIN Abfrage1 ON zimmer.nummer = Abfrage1.zimmernummer WHERE (((Abfrage1.zimmernummer) Is Null) AND ((zimmer.gruppe) Like [Forms]![reservierung].[lstGruppe])) ORDER BY zimmer.nummer;
Baut auf dem Ergebnis von Abfrage1 auf und kehrt es um. Somit erhalte ich die gewünschten Daten.
Jetzt will ich aber dieses Ergebnis noch "verfeinern" indem ich bestimmte Ausstattungen hinzufüge.
Mein Problem ist ich weiß nicht wie viele Ausstattungen es gibt und ich weiß auch nicht wie viele davon als Abfragekriterium ausgewählt werden. Deshalb kann ich das nicht als fertige Abfrage speichern.
Ich will jetzt in einer For-Next Schleife einen SQL-String erstellen der auf dem Ergebnis der Abfrage2 aufbaut.
Allerdings erhalte ich immer die Fehlermeldung "Too few Parameters. Expected 3 (oder auch 4)".
Hier mal der Code wie ich es bis jetzt versuche (zum testen habe ich hierbei allerdings nur das Feld "preis" als Abfragekriterium genommen, aber egal) :
Code :1 2 3 4 5
db.QueryDefs("Abfrage2")![Forms!reservierung.txtDatum_von] = Forms![reservierung]![txtDatum_von] db.QueryDefs("Abfrage2")![Forms!reservierung.txtDatum_bis] = Forms![reservierung]![txtDatum_bis] db.QueryDefs("Abfrage2")![Forms!reservierung.lstGruppe] = Forms![reservierung]![lstGruppe] Set rs = db.OpenRecordset("SELECT Abfrage2.nummer, Abfrage2.beschreibung FROM Abfrage2 WHERE Abfrage2.preis >= '1'")
Der obige Fehler deutet eigentlich darauf hin, das ein Feldname falsch geschrieben ist oder so. Ich habe es aber sowohl mit "Abfrage2.nummer" als auch mit "zimmer.nummer" und auch nur mit "nummer" versucht. Der Fehler bleibt immer der selbe.
Habt ihr eine Erklärung oder ein Beispiel wie das aussehen muss?
Ich hoffe ihr könnt mir da (mal wieder) weiterhelfen.
Gruß ThomasSollte ein Tipp von mir geholfen haben, habe ich nichts gegen eine entsprechende Bewertung oder ein Danke und wenn ein Problem gelöst ist, dann den Beitrag bitte auch als erledigt markieren.
Was ich gar nicht leiden kann sind User die es nicht für nötig halten auf Antworten zu reagieren, die Themen nicht als erledigt markieren und/oder die sich nicht für Hilfe bedanken.
-
Hallo Thomas,
die Abfrage kann nicht funktionieren, da Abfrage2 kein Feld mit namen "preis" liefert.
funktioniert nur, wenn es in Abfrage2 auch ein Feld "preis" gibt... WHERE Abfrage2.preis >= '1'")
Ändere die Abfrage2 in
Code :1
SELECT zimmer.* FROM zimmer ....
Dann sollte die Abfrage funktionieren.
Grüße
Uwe
Ähnliche Themen
-
» Access MS Access Abfrage
Von JJB im Forum Office-AnwendungenAntworten: 2Letzter Beitrag: 01.06.10, 08:16 -
Access Abfrage -> VBA DAO wie?
Von keeper99 im Forum Visual Basic 6.0Antworten: 1Letzter Beitrag: 04.03.08, 15:42 -
Access Abfrage
Von Winner im Forum Office-AnwendungenAntworten: 0Letzter Beitrag: 12.12.07, 10:34 -
Access und Abfrage !
Von pglw im Forum Relationale DatenbanksystemeAntworten: 0Letzter Beitrag: 27.02.05, 12:49 -
Access-Abfrage
Von KhanSingh im Forum Relationale DatenbanksystemeAntworten: 3Letzter Beitrag: 04.03.04, 15:19






Zitieren
Login





