webForumDet fria alternativet

Konstigt felmeddelande

ASP

7 svar · 390 visningar · startad av Ralle

Medlem sedan feb. 2003210 inlägg
Frågan#1

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][ODBC Microsoft Access Driver] Syntax error. in query expression 'Sum(Select Count(Id) from Elitserien where (Sasong='2003-2004' And Omgang<= AND HemmaPeriod1Mal+HemmaPeriod2Mal+HemmaPeriod3Mal>BortaPeriod1Mal+BortaPeriod2Mal+BortaPeriod3Mal AND HemmaLag=Lag_i_Elitserien.Id))'.

/~m5798/Elitseriehemma_bortatabell.asp, line 9

Det här felmeddelandet får jag alltså bara när jag lagt ut sidan. Men när jag testar den här hemma, funkar den perfekt.

Det konstiga är att line 9 inte är den raden här ovan, så här ser rad 9 ut:If rstOmg.EOF Then

Det är början på en drop-down.

Någon som kan hjälpa mig?

Medlem sedan juni 200032 967 inlägg
#2

Om jag tolkar felmeddelandet rakt av:

[Microsoft][ODBC Microsoft Access Driver] Syntax error. in query expression 'Sum(Select Count(Id) from Elitserien where (Sasong='2003-2004' And Omgang<= <här saknas ett värde> AND HemmaPeriod1Mal+HemmaPeriod2Mal+HemmaPeriod3Mal>BortaPeriod1Mal+BortaPeriod2Mal+BortaPeriod3Mal AND HemmaLag=Lag_i_Elitserien.Id))'.

Kolla så dina värden hämtas korrekt.

Kod kan också vara bra för att ge bättre hjälp.

Mvh

Medlem sedan feb. 2003210 inlägg
#3

Det ska inte vara något värde där, i alla fall inte när sidan startas.

Jag använder en dropdown som antingen väljer "alla" eller "omgångar", men det gäller först när sidan väl har kommit upp.

Den kör en sql som inte innehåller "Omgang". När man väljer en omgång så går den till en sql som ser ut så där.

Men tycker inte du att det är konstigt att det fungerar när jag testar här hemma?

Set objConnect = Server.CreateObject("ADODB.Connection")
objConnect.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= "& Server.MapPath("../databas/Ishockey.mdb")
strSQL="SELECT DISTINCT Omgang AS Omg FROM Elitserien WHERE Sasong='" & Sasong2 & "'"
Set rstOmg = Server.Createobject("adodb.RecordSet")
rstOmg.Open strSQL, objConnect, 1, 2
If rstOmg.EOF Then
Response.Write("Ingen omgång funnen")
Else
Response.Write("<Form name=""omgang"" action="""& Request.ServerVariables("SCRIPT_NAME") & "?Sasong2=" & Sasong2 &""" method=""post"">")
Response.Write("<SELECT name=""omgang1"" OnChange=""this.form.submit();"">")
Response.Write("<OPTION value=""x"">-- VÄLJ --</OPTION>")
Response.Write("<OPTION value=0>Alla</OPTION>")
Do until rstOmg.EOF
Response.Write("<OPTION value=""" & rstOmg("Omg") & """>" &"Omgång " & rstOmg("Omg") & "</OPTION>")
rstOmg.MoveNext
Loop
Response.Write("</SELECT>")
End If
Response.Write "<BR>"
Response.Write "<BR>"
If request.form("omgang1") <> "" then
omgang1=request.form("omgang1")
End If
If Isnumeric(omgang1) then
If omgang1=0 Then
Sen kommer sql1
Else
Sen kommer sql2
End If
End If

sql'en är alldeles för stor, så jag tar inte med den. Men nu förstår du i alla fall ungefär hur det ser ut.

Medlem sedan juni 200032 967 inlägg
#4

Det ska inte vara något värde där, i alla fall inte när sidan startas.

Okej? Då är det inte konstigt att det inte fungerar...

Men tycker inte du att det är konstigt att det fungerar när jag testar här hemma?

Jo, det borde i så fall inte fungera hemma heller.

sql'en är alldeles för stor, så jag tar inte med den. Men nu förstår du i alla fall ungefär hur det ser ut.

Det är SQL-frågan som är intressant, eftersom det är den som skapar felet.

Om du inte har något värde för omgang, då bör du inte köra SQL-frågan, eftersom du kommer få ett felmeddelande.

Mvh

Medlem sedan feb. 2003210 inlägg
#5

Nej. Men det är ju den första sql'en som körs när sidan startas.

Efter "else" ska ju köras först när man gör ett val i dropdown.

Sql'en är på dryga 3000 tecken, så jag tror inte att det är så klokt att skriva in den här.

Medlem sedan juni 200032 967 inlägg
#6

Ralle skrev:

Efter "else" ska ju köras först när man gör ett val i dropdown.

I så fall verkar det ju vara din If-sats som inte stämmer, för den ska ju inte in i else när då går in direkt på sidan? Vilken if-sats gäller det?

Använd också gärna [kod]-taggar när du postar kod på forumet.

Mvh

Medlem sedan feb. 2003210 inlägg
#7

Ja, den verkar köra "else", i stället för den första if.

Jag fick problem med tangentbordet hemma, därför kunde jag inte skriva dom där klamrarna.

Jag ska testa en sak när jag kommer hem, sitter på jobbet nu.

Det är den if-sats du ser i tredje inlägget.

Medlem sedan feb. 2003210 inlägg
#8

Jag vet inte hur jag lyckades, men jag hade laddat upp en gammal version.

Nu fungerar det.

TACK för hjälpen.

266 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)