mi sonos caricatro il pannello per collegarmi con access sul pannello di aruba per fare le modiche sul db on linea, ma quando vado a modificare un dato mi da questo errore
Microsoft OLE DB Provider for ODBC Drivers error '80040e07'
[Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression.
/pannello.asp, line 262
ho controllato il tutti i campi del db sono testo oltre il contatore
codice:<% '************************************ 'Linkbruttocane per vademecum 'il database va messo in mdb-database '************************************ strFile = "pannello.asp" 'il nome di questo file strTable = "T_news" 'nome tabella strKey = "id" 'chiave primaria, contatore bgHeaderColor = "Orange" fontHeaderColor = "black" bgColor1 = "Silver" fontColor1 = "Black" bgColor2 = "White" fontColor2 = "Black" Set MyConn=Server.CreateObject("ADODB.Connection") MyConn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & server.MapPath("/mdb-database/db_pietrapinta.mdb") '************************************** 'azioni da eseguire '************************************** Select Case Request("mode") Case "AddItem" AddItem Case "AddItemAction" AddItemAction Case "EditItem" EditItem Case "EditItemAction" EditItemAction Case "DelItem" delItem Case Else ShowAll End Select '************************************** 'mostrare tutti i record 'FORTEMENTE SCONSIGLIATO PER I DATABASE DI GRANDE DIMENSIONE '************************************** Sub ShowAll() MySQL="Select * from " & strTable Set MyRs=MyConn.Execute(MySQL) Response.write ("<h2> Tabella " & strTable & " : il contenuto</h2>") Response.write (" <font size=""2"">AGGIUNGI NUOVO</font></p>") Response.write ("<table border=""1"" cellpadding=""4"" cellspacing=""1"">") Response.write ("<tr>") numerocampi=MyRs.fields.count -1 Response.write ("<td bgcolor=""" & bgHeaderColor & """ align=""Center"" nowrap><font color=""" & fontHeaderColor & """ size=""2"">X</font></td>") Response.write ("<td bgcolor=""" & bgHeaderColor & """ align=""Center"" nowrap><font color=""" & fontHeaderColor & """ size=""2"">E</font></td>") for i=0 to numerocampi if Not MyRs(i).name = "ID" then Response.write ("<td bgcolor=""" & bgHeaderColor & """ align=""Center"" nowrap><font color=""" & fontHeaderColor & """ size=""2"">" & MyRs(i).name & "</font></td>") end if next Response.write ("</tr>") do while not MyRs.eof if bgColor = bgColor2 then bgColor = bgColor1 fontColor = fontColor1 else bgColor = bgColor2 fontColor = fontColor2 end if Response.write ("<tr>") Response.write ("<td align=""Center"" valign=""Top"" bgcolor=""" & bgColor & """>") Response.write ("<font color=""" & fontColor & """>Elimina</font></td>") Response.write ("<td align=""Center"" valign=""Top"" bgcolor=""" & bgColor & """>") Response.write ("<font color=""" & fontColor & """>Modifica</font></td>") for i = 0 to numerocampi if Not MyRs(i).name = "ID" then if MyRs(i).name = "PRICE" then ThisRecord = FormatCurrency(MyRs(i)) strAlign = "right" else ThisRecord = MyRs(i) strAlign = "" end if If IsNull(ThisRecord) or ThisRecord = "" Then ThisRecord = "" end if ThisRecord = Replace(ThisRecord,vbCrLf," ") Response.write ("<td align=""" & strAlign & """ valign=top bgcolor=""" & bgColor & """><font color=""" & fontColor & """>" & Thisrecord & "</font></td>") end if next Response.write ("</tr>") MyRs.movenext loop Response.write ("</table>") MyRs.close Set MyRs= Nothing end sub '************************************** 'aggiungi '************************************** Sub AddItem() MySQL="Select * from " & strTable Set MyRs=MyConn.Execute(MySQL) Response.write ("<h2>Aggiungi nuovo Record a " & strTable & "</h2>") Response.write ("<form action=""" & strFile & "?mode=AddItemAction"" method=""post"" id=form1 name=form1>") Response.write ("<table>") numerocampi=MyRs.fields.count -1 for i=0 to numerocampi if Not MyRs(i).name = "ID" then ThisRecord = MyRs(i) ThisRecordName = MyRs(i).name If IsNull(ThisRecord) or ThisRecord = "" Then ThisRecord = "" end if Response.write ("<tr>") Response.write ("<td align=""right"">" & ThisRecordName & ": </td>") Response.write ("<td> <input name=""" & ThisRecordName & """ type=""text""></td>") Response.write ("</tr>") end if next Response.write ("<tr>") Response.write ("<td align=""right""><input name=""Submit"" type=submit value=""Submit""></td>") Response.write ("<td><input name=""reset"" type=reset value=""Reset""></td>") Response.write ("</tr>") Response.write ("</table>") Response.write ("</form>") Response.write ("Back to list") End Sub Sub AddItemAction() MySQL="Select * from " & strTable Set MyRs=MyConn.Execute(MySQL) numerocampi=MyRs.fields.count -1 for i=0 to numerocampi if Not MyRs(i).name = "ID" then str = MyRs(i).name if not i = numerocampi then str1 = str1 & "[" & str & "], " else str1 = str1 & "[" & str & "]" end if strNames = Request(str) if not i = numerocampi then sqlNames1 = sqlNames1 & "'" & strNames & "', " else sqlNames1 = sqlNames1 & "'" & strNames & "'" end if end if next MySQL1="Insert INTO " & strTable & " (" & str1 & ") VALUES (" & sqlNames1 & ")" Set MyRs1=MyConn.Execute(MySQL1) MyConn.Close set MyConn=nothing Response.Redirect strFile End Sub '************************************** 'modificare '************************************** Sub EditItem() Response.write ("<h2>Modifica record nella tabella " & strTable & "</h2>") which=request("which") if isNumeric(which) then MySQL="SELECT * FROM " & strTable & " Where " & strKey & " = " & which else MySQL="SELECT * FROM " & strTable & " Where " & strKey & " = '" & which & "'" end if Set MyRs=MyConn.Execute(MySQL) Response.write ("<FORM ACTION=""" & strFile & "?mode=EditItemAction"" METHOD=POST>") Response.write ("<input name=""ID"" type=""hidden"" value=""" & MyRs(strKey) & """>") Response.write ("<table>") numerocampi=MyRs.fields.count -1 for i=0 to numerocampi if Not MyRs(i).name = "id" then ThisRecord = MyRs(i) ThisRecordName = MyRs(i).name If IsNull(ThisRecord) or ThisRecord = "" Then ThisRecord = "" end if Response.write ("<tr>") Response.write ("<td align=""right"">" & ThisRecordName & ": </td>") Response.write ("<td> <input name=""" & ThisRecordName & """ type=""text"" value=""" & MyRs(i) & """></td>") Response.write ("</tr>") end if next Response.write ("<tr>") Response.write ("<td align=""right""><INPUT NAME=""Submit"" TYPE=Submit Value=""Update""></td>") Response.write ("<td><INPUT NAME=""Reset"" TYPE=Reset Value=""Reset""></td>") Response.write ("</tr>") Response.write ("</table>") Response.write ("</FORM>") Response.write ("Torna alla lista dei record") MyRs.close Set MyRs= Nothing End Sub Sub EditItemAction() which = Request(strKey) if isNumeric(which) then MySQL="SELECT * FROM " & strTable & " Where " & strKey & " = " & which else MySQL="SELECT * FROM " & strTable & " Where " & strKey & " = '" & which & "'" end if 'MySQL="Select * from " & strTable Set MyRs=MyConn.Execute(MySQL) numerocampi=MyRs.fields.count -1 for i=0 to numerocampi if Not MyRs(i).name = "ID" then str = MyRs(i).name strNames = Request(str) if not i = numerocampi then str1 = str1 & "[" & str & "] = '" & strNames & "', " else str1 = str1 & "[" & str & "] = '" & strNames & "'" end if end if next if isNumeric(which) then MySQL1="UPDATE " & strTable & " SET " & str1 & " Where " & strKey & " = " & which else MySQL1="UPDATE " & strTable & " SET " & str1 & " Where " & strKey & " = '" & which & "'" end if 'MySQL1="UPDATE " & strTable & " SET " & str1 & " Where ID=" & which Set MyRs1=MyConn.Execute(MySQL1) MyConn.Close set MyConn=nothing Response.Redirect strFile End Sub '************************************** 'elimina record '************************************** Sub DelItem() which=request("which") if isNumeric(which) then MySQL="delete * from " & strTable & " Where " & strKey & " = " & which else MySQL="delete * from " & strTable & " Where " & strKey & " = '" & which & "'" end if Set MyRs=MyConn.Execute(MySQL) MyConn.Close set MyConn=nothing Response.Redirect strFile End Sub %>

Rispondi quotando