Seguendo gli esempi di un libro, ho modificato l'esempio riportato e ho creato una pagina per la modifica dei campi di una tabella e un modulo che esegue la modifica vera e propria. Ovviamente il modulo (in puro ASP, senza HTML, affinchè non venga isualizzato dall'utente)è collegato al form della pagina tramite il tag action del form.
Inutile dire che non avviene alcun aggiornamento e vengo indirizzato alla pagina bianca con il seguente errore:
---------------------------------------------------------------------------------------
"Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'IdAccesso='.
/SezioneAdmin/Accessi/ModuloModificaAccesso.asp, line 5"
---------------------------------------------------------------------------------------
Vi posto un po' di codice che ritengo possa contenere una possibile causa di errore che io non vedo:
Codice della pagina di modifica prima dell'inizio del codice HTML (<!DOCTYPE html...ecc..):
---------------------------------------------------------------------------------------
<%
Dim dbConn
Dim rstModificaAccesso
Set dbConn = Server.CreateObject ("adodb.connection")
dbConn.open("Driver={Microsoft Access Driver (*.mdb)};Dbq=" & Server.Mappath("/mdb-database/Tabelle.mdb"))
Set rstModificaAccesso = dbConn.Execute("SELECT Id, Password FROM tblLogIn WHERE IdAccesso=" & Request.QueryString("IdAccesso"))
%>
---------------------------------------------------------------------------------------
Codice della pagina di modifica relativo al form....
---------------------------------------------------------------------------------------
<form action="ModuloModificaAccesso.asp?<%=Request.Query String("IdAccesso")%>" method="post" name="frmUpdateAccessi" id="frmUpdateAccessi">
---------------------------------------------------------------------------------------
...e quello relativo al modulo (ModuloModificaAccesso.asp per la cronaca) per la modifica...(la riga 5 a cui si riferisce il messaggio di errore è quella che inizia con dbConn.execute...)
---------------------------------------------------------------------------------------
<%
Dim dbConn
Set dbConn = Server.CreateObject ("adodb.connection")
dbConn.open("Driver={Microsoft Access Driver (*.mdb)};Dbq=" & Server.Mappath("/mdb-database/Tabelle.mdb"))
dbConn.execute("UPDATE tblLogIn SET Id='"& Request.Form("txtId") &"', Password='"& Request.Form("txtPassword") &"' WHERE IdAccesso=" & Request.QueryString("IdAccesso") &"")
Response.Redirect("ModCancAccesso.asp")
%>
---------------------------------------------------------------------------------------
La domanda quindi è: dove sta l'errore? E' forse una ridondanza di codice ASP tra la pagina di modifica e il modulo di modifica? Forse la chiave primaria ("IdAccesso") non viene passata correttamente?
Grazie anticipatamente per ogni aiuto.

Rispondi quotando
