Om du kikar på felmeddelandet så ser du att du har ett kommatecken precis före slutparentesen i slutet av felmeddelandet. Flytta det.
Annars: skriv gärna ut SQL-frågan så blir det lättare att se vad som är galet.
mvh
6 svar · 293 visningar · startad av Eclipse
SQL = "SELECT count(*) " _
& ", (SELECT COUNT(*) FROM [event] e WHERE e.dteCreated = " & dteMyDate & " ) " _
& ", (SELECT rcd.intID, COUNT(*) FROM " _
& " [roomBooking] rb, [room] r, [roomCategory] rc, [roomCategoryDetail] rcd WHERE " _
& " rb.intRoomID = r.intID AND r.intID = rc.intRoomID AND rc.intRoomCategoryDetailID = rcd.intID AND " _
& " rcd.intID = 3 AND " _
& " r.bolView = TRUE " _
& ",) (SELECT rcd.intID COUNT(*) FROM [roomCategory] rc, [room] r, [roomCategoryDetail] rcd WHERE " _
& " rc.intRoomID = r.intID AND rc.intRoomCategoryDetailID = 2 )" _
& ", (SELECT rcd.intID COUNT(*) FROM [roomCategory] rc, [room] r, [roomCategoryDetail] rcd WHERE " _
& " rc.intRoomID = r.intID AND rc.intRoomCategoryDetailID = 1 ) " _
& " FROM [roomBooking] rb WHERE rb.dteDate = " & dteMyDate & ";"
Felmeddelande:
Microsoft JET Database Engine error '80040e14'
Syntax error. in query expression '(SELECT rcd.intID, COUNT(*) FROM [roomBooking] rb, [room] r, [roomCategory] rc, [roomCategoryDetail] rcd WHERE rb.intRoomID = r.intID AND r.intID = rc.intRoomID AND rc.intRoomCategoryDetailID = rcd.intID AND rcd.intID = 3 AND r.bolView = TRUE ,) (SEL'.
/v1/load_public_menus.asp, line 87
***
Rad 87 är inne i en loop och inte relevant i detta sammanhanget, inte på det viset....
Slutet har jag markerat. Hur kan det bli så!? Finns det någon begränsning på variabler??
(Access + asp)
Om du kikar på felmeddelandet så ser du att du har ett kommatecken precis före slutparentesen i slutet av felmeddelandet. Flytta det.
Annars: skriv gärna ut SQL-frågan så blir det lättare att se vad som är galet.
mvh
Jag är dum! Värsta bluder-felet.
Detta är en superlång SQL-sats, värsta avhandlingen, så det krävs någon som inte är insatt för att se den typen av fel!
***
Anders, frågan står ju där...
Nästa felmeddelande har jag inte heller sett tidigare:
SQL = "SELECT count(*) " _
& ", (SELECT COUNT(*) FROM [event] e WHERE e.dteCreated = " & dteMyDate & ") " _
& ", (SELECT rcd.intID, COUNT(*) FROM " _
& " [roomBooking] rb, [room] r, [roomCategory] rc, [roomCategoryDetail] rcd WHERE " _
& " rb.intRoomID = r.intID AND r.intID = rc.intRoomID AND rc.intRoomCategoryDetailID = rcd.intID AND " _
& " rcd.intID = 3 AND " _
& " r.bolView = TRUE " _
& "), (SELECT rcd.intID, COUNT(*) FROM [roomCategory] rc, [room] r, [roomCategoryDetail] rcd WHERE " _
& " rc.intRoomID = r.intID AND rc.intRoomCategoryDetailID = 2 )" _
& ", (SELECT rcd.intID, COUNT(*) FROM [roomCategory] rc, [room] r, [roomCategoryDetail] rcd WHERE " _
& " rc.intRoomID = r.intID AND rc.intRoomCategoryDetailID = 1 ) " _
& " FROM [roomBooking] rb WHERE rb.dteDate = " & dteMyDate & ";"
Microsoft JET Database Engine error '80004005'
You have written a subquery that can return more than one field without using the EXISTS reserved word in the main query's FROM clause. Revise the SELECT statement of the subquery to request only one field.
/v1/load_public_menus.asp, line 87
Anders, frågan står ju där...
Jo, jag ser det. Men det är extremt kladdigt med en miljon citationstecken, konkateneringar och annat. Det är helt enkelt mycket enklare att läsa en utskrift av den färdiga.
Edit: använder du den här SQL-frågan bara för att slå ihop flera räkningar till en SQL-fråga? Jag hade nog använt UNION istället för att krångla med delfrågor.
"SELECT rcd.intID, COUNT(*) "
Detta fungerar inte.
Anders, koden är 1/10 av vad den egentligen är...
Fatta, detta är värsta doktorsavhandlingen!! Men det funkar nu i alla fall. Grejt! :-)
Förlåt, jag tycker UNION är förvirrande. Jag har inte fattat vad som är så bra med UNION.
Enkelt sagt så får du resultatet på flera rader i stället för kolumner.