Just nu i M3-nätverket
Gå till innehåll

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


JPS

Rekommendera Poster

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!??!

Länk till kommentar
Dela på andra webbplatser

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)

%>

 

Länk till kommentar
Dela på andra webbplatser

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.

 

 

 

 

Länk till kommentar
Dela på andra webbplatser

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)

%>

 

 

 

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...