webForumDet fria alternativet

SQL Fel

5 svar · 134 visningar · startad av Jacek

JacekMedlem sedan apr. 2000169 inlägg
#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)

------------------
Mikael Tyrsén
</www.tyrsen.nu>
</mikael@tyrsen.nu>

jorgenMedlem 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 :)

------------------
Varför bråka när man kan kramas?

LarsGMedlem 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.

------------------
essentitia preter non sans multiplicandum

JacekMedlem 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)

------------------
Mikael Tyrsén
</www.tyrsen.nu>
</mikael@tyrsen.nu>

jorgenMedlem 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 :)

------------------
Varför bråka när man kan kramas?

[Redigerat av jorgen den 04 dec 2001]

JacekMedlem 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.

------------------
Mikael Tyrsén
</www.tyrsen.nu>
</mikael@tyrsen.nu>

128 ms totalt · 3 externa anrop · v20260731065814-full.2b84b982
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)