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!
Missing operator
34 svar · 574 visningar · startad av Jesper T · sida 2 av 2
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
Vad kan felmeddelandet betyda?
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.
Jasså, då var det ingen glädje med den sorgen då.
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.
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?)
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,
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.
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,
Ja, det har jag också men sätter jag den('weights') först och skriver rs(0) så står där "weights".
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
ha, ha, du menar så. Skall kika lite på´t
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.