11. marts 2011 - 15:31
Der er
5 kommentarer og 1 løsning
ASP: tillade tomme felter i access ved tilføjelse af data
Hej Jeg er ved at lave et medlemskartotek i ASP/Access og får flg. fejl når f.eks. e-mail feltet ikke udfyldes. Microsoft OLE DB Provider for ODBC Drivers error '80040e07' [Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression. /login/sites/opret_medarbejder.asp, line 37 Fejlen fremkommer altså ikke når alle felter udfyldes. Data indhentes vha request.form og tilføjes vha flg. stump kode: Set Conn = Server.CreateObject("ADODB.Connection") DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; " DSN = DSN & "DBQ=" & Server.MapPath("db.mdb") Conn.Open DSN strSQL = "Insert into medlemmer (" strSQL = strSQL & "navn, " strSQL = strSQL & "stilling, " strSQL = strSQL & "titel, " strSQL = strSQL & "uddannet, " strSQL = strSQL & "arbejdsopgaver, " strSQL = strSQL & "billede, " strSQL = strSQL & "mail) " strSQL = strSQL & "values( " strSQL = strSQL & "'" & Request.Form("navn") & "'," strSQL = strSQL & "'" & Request.Form("stilling") & "'," strSQL = strSQL & "'" & Request.Form("titel") & "'," strSQL = strSQL & "'" & Request.Form("uddannet") & "'," strSQL = strSQL & "'" & Request.Form("arbejdsopgaver") & "'," strSQL = strSQL & "'" & Request.Form("billede") & "'," strSQL = strSQL & "'" & Request.Form("mail") & "' )" Conn.Execute(strSQL) Conn.Close Set Conn = Nothing Hvordan får jeg gjort sådan at det tomme felter tillades? På forhånd tak
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
11. marts 2011 - 15:43
#1
strSQL = "Insert into medlemmer (" strfelt = "" if Request.Form("navn") <> "" then strfelt = strfelt & "navn, " if Request.Form("stilling") <> "" then strfelt = strfelt & "stilling, " if Request.Form("titel") <> "" then strfelt = strfelt & "titel, " if Request.Form("uddannet") <> "" then strfelt = strfelt & "uddannet, " if Request.Form("arbejdsopgaver") <> "" then strfelt = strfelt & "arbejdsopgaver, " if Request.Form("billede") <> "" then strfelt = strfelt & "billede, " if Request.Form("mail") <> "" then strfelt = strfelt & "mail, " ' fjern sidste " ," strfelt = trim(strfelt) strfelt = left(strfelt,len(strfelt-1)) strSQL = strSQL & strfelt strSQL = strSQL & ") values(" strfelt = "" if Request.Form("navn") <> "" then strfelt = strfelt & "'" & Request.Form("navn") & "'," if Request.Form("stilling") <> "" then strfelt = strfelt & "'" & Request.Form("stilling") & "'," if Request.Form("titel") <> "" then strfelt = strfelt & "'" & Request.Form("titel") & "'," if Request.Form("uddannet") <> "" then strfelt = strfelt & "'" & Request.Form("uddannet") & "'," if Request.Form("arbejdsopgaver") <> "" then strfelt = strfelt & "'" & Request.Form("arbejdsopgaver") & "'," if Request.Form("billede") <> "" then strfelt = strfelt & "'" & Request.Form("billede") & "'," if Request.Form("mail") <> "" then strfelt = strfelt & "'" & Request.Form("mail") & "'," ' fjern sidste , strfelt = left(strfelt,len(strfelt-1)) strSQL = strSQL & strfelt & ")" Conn.Execute(strSQL)
12. marts 2011 - 00:30
#2
Jeg får fejl ved ovenstående kode :( Microsoft VBScript runtime error '800a000d' Type mismatch: 'strfelt' /login/sites/opret_medarbejder.asp, line 26 linie 26: strfelt = left(strfelt,len(strfelt-1))
12. marts 2011 - 09:29
#3
det er en parentes, der er på den forkerte side af -1 Det skal være strfelt = left(strfelt,len(strfelt)-1) linjen er der 2 gange - ret begge
12. marts 2011 - 11:19
#4
Genialt! Vil du lave et svar, så jeg kan give dig points? Tusind tak for hjælpen!
12. marts 2011 - 11:21
#5
bare luk selv...
13. marts 2011 - 13:26
#6
løst af claes57 men vil ikke have points
Kurser inden for grundlæggende programmering