Avatar billede trp79 Nybegynder
06. maj 2002 - 16:13 Der er 9 kommentarer og
1 løsning

iif sætninger

Hvis jeg ud fra min forespørgsel ikke får returneret nogle data, altså en tom række kolonner, skal jeg have min forespørgsel til at åbne en anden forspørgsel med nogle af de samme data i!
Mit umiddelbare bud ville være at lave en overordnet forespørgsel som kæder er to sammen. Hvis så den enes krav ikke er opfyldt, skal den overordnede køre den anden forespørgsel! Mit problem ligger så i min IIf sætning...
Avatar billede trp79 Nybegynder
06. maj 2002 - 16:29 #1
Måske kan dette hjælpe:

SELECT DISTINCT Bygninger.Betegnelse AS Bygning, LokaleType.LokaleType, Lokale.LokaleID AS Lokalenummer, Lokale.Kapacitet, DCount("*","OH","[OHID]") AS [Antal overhead], DCount("*","PC","[PCID]") AS [Antal PC'ere], DCount("*","WB","[WBID]") AS [Antal whiteboard]
FROM ((((Lokale INNER JOIN OH ON Lokale.LokaleID = OH.LokaleID) INNER JOIN PC ON Lokale.LokaleID = PC.LokaleID) INNER JOIN (Bygninger INNER JOIN Reservation ON Bygninger.BygningsID = Reservation.BygningsID) ON OH.LokaleID = Reservation.LokaleID) INNER JOIN WB ON Lokale.LokaleID = WB.LokaleID) INNER JOIN LokaleType ON Lokale.LokaleTypeID = LokaleType.LokaleTypeID
WHERE (((LokaleType.LokaleType) Like "*"+[Indtast Lokale type]+"*") AND ((Lokale.Kapacitet) Between [Indtast Minimum Kapacitet] And [Indtast Maksimum Kapacitet]) AND ((Reservation.Dato)<>[Indtast Dato -eks 01/01/2002]) AND ((Reservation.Start) Not Between [Indtast start tidspunkt eks 10:00:00] And [Indtast slut tidspunkt eks 11:00:00]));
Avatar billede terry Ekspert
06. maj 2002 - 17:39 #2
this is maybe the same problem!

trp79>I cant see your query but in design view you have more than one table joined by  a thin line. right click on this thin line and you are presented with three choices choose the one whích suits your needs!

With an INNER join there must be data on BOTH sides (tables) changing this to an OUTER JOIN will return data from one table EVEN if there is no data in the other
Avatar billede ferdinand.k Mester
07. maj 2002 - 14:50 #3
Terry => Kan vi ikke fortsætte "debatten" i denne kategori så! Det gør det lidt nemmere hvis vi bare tager den herfra...:)
Avatar billede terry Ekspert
07. maj 2002 - 14:53 #4
Yes :o)
Avatar billede ferdinand.k Mester
07. maj 2002 - 15:49 #5
har du modtaget mín mail?
Avatar billede terry Ekspert
07. maj 2002 - 15:52 #6
dont know! I am at work at the moment. I asked youto send it to my home address so that I can look at it when I get home.
Avatar billede ferdinand.k Mester
07. maj 2002 - 15:54 #7
helt ok! jeg kigger bare ind fra tid til anden! :)
Avatar billede terry Ekspert
11. maj 2002 - 20:20 #8
OK! This is what I gave as a solution, although it isnt much use without the form for entering the criteria!

Hope everyone is happy now, this must be worth the last 15 points :o)


SELECT DISTINCT Lokale.LokaleID, Lokale.Kapacitet, Lokale.LokaleTypeID
FROM (Lokale LEFT JOIN qryReseravtionsMatchingCriteria ON Lokale.LokaleID=qryReseravtionsMatchingCriteria.LokaleID) INNER JOIN Reservation ON Lokale.LokaleID=Reservation.LokaleID
WHERE (((Lokale.Kapacitet) Between Forms!frmSøge!txtMinAntal And Forms!frmSøge!txtMaxAntal) And ((Lokale.LokaleTypeID)=Forms!frmSøge!cboLokaleType) And ((qryReseravtionsMatchingCriteria.LokaleID) Is Null));

SELECT Lokale.LokaleID, Lokale.Kapacitet, Lokale.LokaleTypeID, Reservation.Dato, Reservation.Start, Reservation.Slut
FROM Lokale INNER JOIN Reservation ON Lokale.LokaleID = Reservation.LokaleID
WHERE (((Lokale.Kapacitet) Between [Forms]![frmSøge]![txtMinAntal] And [Forms]![frmSøge]![txtMaxAntal]) AND ((Lokale.LokaleTypeID)=[Forms]![frmSøge]![cboLokaleType]) AND ((Reservation.Dato)=[Forms]![frmSøge]![txtDato]) AND ((Reservation.Start) Between [Forms]![frmSøge]![txtStartTid] And [Forms]![frmSøge]![txtSlutTid])) OR (((Lokale.Kapacitet) Between [Forms]![frmSøge]![txtMinAntal] And [Forms]![frmSøge]![txtMaxAntal]) AND ((Lokale.LokaleTypeID)=[Forms]![frmSøge]![cboLokaleType]) AND ((Reservation.Dato)=[Forms]![frmSøge]![txtDato]) AND ((Reservation.Slut) Between [Forms]![frmSøge]![txtStartTid] And [Forms]![frmSøge]![txtSlutTid])) OR (((Lokale.Kapacitet) Between [Forms]![frmSøge]![txtMinAntal] And [Forms]![frmSøge]![txtMaxAntal]) AND ((Lokale.LokaleTypeID)=[Forms]![frmSøge]![cboLokaleType]) AND ((Reservation.Dato)=[Forms]![frmSøge]![txtDato]) AND ((Reservation.Start)<=[Forms]![frmSøge]![txtStartTid]) AND ((Reservation.Slut)>=[Forms]![frmSøge]![txtSlutTid]));
Avatar billede trp79 Nybegynder
11. maj 2002 - 20:30 #9
it sure is :o) thanks...
Avatar billede terry Ekspert
11. maj 2002 - 20:36 #10
thank you!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester