Just nu i M3-nätverket
Jump to content

"Data type mismatch" vid tomt fält när det gäller


JPS

Recommended Posts

Jag har ett fält som är lön och när det lämnas tomt får jag följande felmeddelande:

ODBC Microsoft Access Driver Data type mismatch in criteria expression

 

Jag arbetar mot en Accessdatabas och fältet är formaterat som Tal.

 

Jag har försökt med följande med det funkat inte!

<% If Lon = "" Then Lon = "0" end if %>

 

Vad kan man göra!??!

Link to comment
Share on other sites

Hej igen.

 

Fältet i databsen är satt på

Standardvärde = 0

Obligatorisk = Nej

 

På insert.asp sker följande:

 

Kontroll av ogiltiga tecken.

Lon = Fix(request.form("Lon"))

 

In i databasen.

<%

SQLStmt = "Insert Into Personal"

SQLStmt = SQLStmt & "(Fornamn, Efternamn, Lon) "

SQLStmt = SQLStmt & "VALUES('" & Fornamn & "' , '" & Efternamn & "' , '" & Lon & "' )"

Connection.Execute(SQLStmt)

%>

 

Link to comment
Share on other sites

Bommelunder

Sätt default-värdet för fältet Lon i Access-databasen till 0 alternativt sätt defaultvärde i ASP-skriptet. Kontrollen av om fältet innehåller något:

<% If Lon = "" Then Lon = "0" end if %>

fungerar inte på numeriska fält. Raden gör en strängjämförelse och sätter sedan det numeriska fältet Lon till ett strängvärde. VBScript i ASP bryr sig inte om detta men Access-databasen förväntar sig ett numeriskt värde.

 

 

 

 

Link to comment
Share on other sites

Bommelunder

Precis som Olle Nyre'n befarade så har du satt enkelfnuttar runt Lon.

Ändra till

<%

SQLStmt = "Insert Into Personal"

SQLStmt = SQLStmt & "(Fornamn, Efternamn, Lon) "

SQLStmt = SQLStmt & "VALUES('" & Fornamn & "' , '" & Efternamn & "' , " & Lon & " )"

Connection.Execute(SQLStmt)

%>

 

 

 

 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...