Il problema è questo :
Un cliente aggiunge un nuovo articolo con alcune caratteristiche spuntando "checkbox".
I dati vengono memorizzati in DB Access.
In una pagina di modifica vengono presi i dati relativi a quell'articolo, quindi ci saranno caratteristiche già spuntate e altre no.
La mia difficoltà sta in questo: se spunto su quelle libere in fase di Update al DB mi va a cancellare quelle spuntate in precedenza.
Codice in Pagina di Modifica:
<%
id1 = Request.QueryString("id") // è l'id dell'articolo che voglio modificare //
Set Conn = Server.CreateObject("ADODB.Connection")
conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & server.mappath("/mdb-database/vuoto.mdb")
Dim rs_new_user
Set rs_new_user= Server.CreateObject("ADODB.Recordset")
strsql="SELECT * FROM tabella where id ="&id1
rs_new_user.Open strsql, conn , 3, 3
txt_art1 =rs_new_user("art1")
txt_art2 =rs_new_user("art2")
txt_art3 =rs_new_user("art3")
rs_new_user.Close
set rs_new_user = Nothing
conn.close
set conn = Nothing
%>
<form action="changearticolo.asp?change=<%response.write (id1)%>" method="POST" name="FormModifica" >
<input type="checkbox" name="txt_art1" id='game1' value="10" onclick="Costo(this.form)"
<% If txt_art1= "Sì" or txt_art1= "ok" Then %> checked disabled="disabled" <% end if %> >Art 1
</td>
<td width="13%"><font size="2"><input type="checkbox" name="txt_art2" id='game2' value="10" onclick="Costo(this.form)"
<% If txt_art2= "Sì" or txt_art2= "ok" Then %> checked disabled="disabled" <% end if %> >Art 2></TD>
<td width="13%"><font size="2"><input type="checkbox" name="txt_art3" id='game3' value="7" onclick="Costo(this.form)"
<% If txt_art3= "Sì" or txt_art3= "ok" Then %> checked disabled="disabled" <% end if %> >Art 3
</TD>
Eccetera con altri campi.
</form>
<input type="submit" value="Modifica Articolo" name="Modifica" onClick="confermamodifica()">
Poi il controllo passa ad un'altra pagina asp che varia i dati :
id1 = Request.QueryString("changearticolo")
txtArt1 = request.form("txt_Art1")
txtArt2 = request.form("txt_Art2")
txtArt3 = request.form("txt_Art3")
Dim Conn1
Set Conn1 = Server.CreateObject("ADODB.Connection")
conn1.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & server.mappath("/mdb-database/vuoto.mdb")
Dim rs_new_user1
Set rs_new_user1= Server.CreateObject("ADODB.Recordset")
strsql="SELECT * FROM tabella where id ="&id1
rs_new_user1("txtArt1") = txtArt1
rs_new_user1("txtArt2") = txtArt2
rs_new_user1("txtArt3") = txtArt3
rs_new_user1.Update
rs_new_user1.Close
set rs_new_user1 = Nothing
conn1.close
set conn1 = Nothing
%>
Non fate caso se manca qualche virgola o altro cmq la pagina funziona. Però ripeto se "art1" è già spuntato quando vado a modificare "art2" l'Update mi scrive "art2" e cancella "art1" nel DB. Forse c'è qualche incongruità nel passaggio dei dati dal Form.
O query.string e request.form non vanno d'accordo.
BoH.
Sono bloccato qua da qualche giorno
Un aiutino?
Grazie
Daniele

Rispondi quotando