webForumDet fria alternativet
Logga in / Bli medlem

SQL Fel

ASP

5 svar · 136 visningar · startad av Jacek

Medlem sedan apr. 2000169 inlägg
Trådstart#1

Nör jag kör min kod så får jag ut detta felmeddelandde, jag har kollat så inget är stavat fel...

Microsoft OLE DB Provider for ODBC Drivers error '80040e07'
[Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression.

/p6intranet/tidrapport/intern.asp, line 25

... Och på line 25 så hittar man denna kod:

Set RsItimmarMandag = Conn.Execute(SQL)
Medlem sedan feb. 20012 412 inlägg
#2

Hej!

Kolla så att du angett numeriska fält utan '' och textfält med '' och datum omslutna med ## om det är access.

Skriv gärna ut sql-frågan med:

response.write SQL innan den exekveras.

och posta den sedan här om du inte löser det.

mvh Jörgen :)

Medlem sedan dec. 200012 464 inlägg
#3

Det som är intressant är hur strängen SQL ser ut och vilka datatyper kolumnerna har. Kan du lägga till en utskrift av den?

response.write "sql:" & sql
'Set RsItimmarMandag = Conn.Execute(SQL)

Förmodligen beror problemet på att du har använt ' där det inte skall vara något eller tvärtom.

Medlem sedan apr. 2000169 inlägg
#4

Så här ser hela SQL satsen ut:

SQL = "SELECT * FROM Itimmar Where ItimmarUserId = '" & StringUserId & "' AND ItimmarInternId = '" & InternId & "' AND ItimmarDatum = '" & dteMandag & "' order by ItimmarId"
Set RsItimmarMandag = Conn.Execute(SQL)
Medlem sedan feb. 20012 412 inlägg
#5

Hej, förutsätter att dina Id är numeriska fält och datumet är av datumtyp.

SQL = "SELECT * FROM Itimmar Where ItimmarUserId = " & StringUserId & " AND ItimmarInternId = " & InternId & " AND ItimmarDatum = #" & dteMandag & "# order by ItimmarId"
Set RsItimmarMandag = Conn.Execute(SQL)

red: för säkerhets skull prova köra denna koden och posta det den skriver ut:

SQL = "SELECT * FROM Itimmar Where ItimmarUserId = " & StringUserId & " AND ItimmarInternId = " & InternId & " AND ItimmarDatum = #" & dteMandag & "# order by ItimmarId"

response.write SQL

'Set RsItimmarMandag = Conn.Execute(SQL)

mvh Jörgen :)

Medlem sedan apr. 2000169 inlägg
#6

Det var inget fel på koden utan jag hade ett fält i databasen som inte skulle vara ett Datum utan det skulle vara ett Text fält.
*klant*

Tack för hjälpen i alla fall.

380 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
122 ms — deklarationer (db)
119 ms — hämta statistik (db)
134 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)