webForumDet fria alternativet
Logga in / Bli medlem

Missing operator

Databaser & SQL

34 svar · 574 visningar · startad av Jesper T · sida 2 av 2

Trådstarten, av Jesper T

Microsoft JET Database Engine error '80040e14' Syntax error (missing operator) in query expression ''. calweek.asp, line 123 sql="SELECT n.Ndatum, n.NId, k.Fruktid, n.Nnamnid, w.Wweight"& " FROM (Calendar k LEFT JOIN"& " Users p ON k.namnid = p.Pid) LEFT JOIN"& " notes n ON k.namnid = n.Nnamnid AND k.datum = n.Ndatum"&

Läs hela trådstarten →
Medlem sedan nov. 20017 144 inlägg
#21

Tack, då är vi tillbaka på ruta ett.
Jag väljer nog tre frågor, det låter ju klart smidigast.
Tack än en gång!

Medlem sedan nov. 20017 144 inlägg
#22

Försökte mig på en sån där Union:

SQL="select W_notes, W_weight, W_date,null,W_per_id "&_  
" from Weight where W_per_id = " & Id & " AND W_date = #" & d & "#"&_
" UNION ALL"&_
" select  Notes,N_namn_id,N_datum,N_kat,N_Id FROM Notes "&_ 
" WHERE N_namn_id = "& Id &" AND N_datum = #" & d & "#"&_
" UNION ALL "&_ 
" select 'd',null,null,null,Frukt_id "&_
" FROM Calendar WHERE namn_id = " & Id & " AND datum = #" & d & "#"

Då står det

Item cannot be found in the collection corresponding to the requested name or ordinal.

Rad 130 ---> rs("Frukt_id")
Och den har jag ju med i sista selecten

Medlem sedan nov. 20017 144 inlägg
#23

Vad kan felmeddelandet betyda?

Medlem sedan dec. 200012 464 inlägg
#24

Om du använder union så är det bara namnen i den första select-satsen som går att använda när du refererar något i recordsetet.

Medlem sedan nov. 20017 144 inlägg
#25

Jasså, då var det ingen glädje med den sorgen då.

Medlem sedan dec. 200012 464 inlägg
#26

Det var därför jag hade med

select 'Weight'

i mitt union-exempel. Med hjälp av det värdet så kan du se från vilken tabell data kommer.

Medlem sedan nov. 20017 144 inlägg
#27

Det går alltså att göra en sådan union jag gav exemplet på om man lägger till tabellnamnet efter "select" eller?

Hur kommer då sql:en att se ut med mitt senaste unionexempel?

(Om det inte går att loopa ut ett recset med kolumner ifrån den tredje selecten, vad är det då för mening med union?)

Medlem sedan juni 200032 967 inlägg
#28

Jesper T skrev:

(Om det inte går att loopa ut ett recset med kolumner ifrån den tredje selecten, vad är det då för mening med union?)

Jo, det är klart att det går, men fältnamnen följer inte med. En kolumn kan ju inte ha flera namn på samma gång. (Allt blir ju en kolumn, eftersom det är det resulterande recordsetet som håller datat.) Därför, lägg till en kolumn på slutet, som innehåller en sträng med tabellnamnet från vilken datan är hämtad, så får du använda dig av index när du refererar till recordsetet istället.

Response.write Rs(0) & " - " & Rs(1) 'osv

Mvh,

Medlem sedan nov. 20017 144 inlägg
#29

lägg till en kolumn på slutet

På vilket sätt gör man det?
Det går ju bara att skriva "Rs(0), Rs(1) ...osv till Rs(5), skriver jag rs(6) så blir det fel.

Medlem sedan juni 200032 967 inlägg
#30

Titta på LarsGs inlägg. Där har han med en extrakolumn (fast han har lagt den först), där han markerar.

LarsG skrev:

Det var därför jag hade med

select 'Weight'

i mitt union-exempel. Med hjälp av det värdet så kan du se från vilken tabell data kommer.

Om det blir fel när du försöker skriva ut Rs(6), tja, då har du väl bara 6 kolumner i ditt recordset?

mvh,

Medlem sedan nov. 20017 144 inlägg
#31

Ja, det har jag också men sätter jag den('weights') först och skriver rs(0) så står där "weights".

Medlem sedan juni 200032 967 inlägg
#32

Ja, och det är det som är meningen.

if rs(0) = "weights" then
     ' pryttlarna kommer från weights, gör speciella saker
elseif rs(0) = "otherstuff" then
     ' pryttlarna kommer från någon annan stans, gör andra speciella saker
end if
Medlem sedan nov. 20017 144 inlägg
#33

ha, ha, du menar så. Skall kika lite på´t

Medlem sedan juni 200032 967 inlägg
#34

Japp, precis så menar jag, och jag tror att det är precis så LarsG menar också. :)

Mvh,

Medlem sedan nov. 20017 144 inlägg
#35

Jag upptäckte att om en post i "notes" existerar på ett visst datum så "skrivs den över" om det ligger en post på samma datum i "weight". Jag vill ju ha med båda, eller rättare sagt alla.

255 ms totalt · 4 externa anrop · v20260731065814-full.81e7e81c
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
120 ms — ändringar (db)