Ciao ...
ho un problema con una query di Update.
Non riesco a passare tutti gli ID.
Ho una tabella che si chiama T_Posta in cui sono presenti i campi :
ID
Allegato
e un altra tabella T_Documenti in cui sono presenti :
ID
Destinatario
Facendo la query Qua sotto riesco a prelevare tutti gli allegati Presenti nella tabella T_Posta
il file per intero è :
il problema e che non riesco a visualizzare la cancellazione di piu file perche non mi passa tutti gli id degli allegati selezionati.Se invece provo a selezionarne solo uno lo cancella e lo aggiorna sul DB.codice:<% dim conn, rs1, rs2, sql, sqlCount, cont, i, nomefile, aiuto dim strconn, sqlNome, rsNome ' --- costruzione stringa di connessione al db --- Set Conn = Server.CreateObject("ADODB.Connection") Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};" &_ "DBQ="& Server.MapPath("Posta.mdb") Set rs1 = Server.CreateObject("Adodb.Recordset") Set rs2 = Server.CreateObject("Adodb.Recordset") 'effetto la connessione alle tabelle rs1.Open "T_Posta", conn, 2, 2 rs2.Open "T_Documenti", conn, 2, 2 destinatario = request.querystring("destinatario") Allegato = request.querystring("Allegato") ID = Session("ID") sql = "SELECT * FROM T_Posta where ID = " & ID sql2 = "SELECT * FROM T_Documenti where ID = " & ID sql3="SELECT DISTINCT T_Posta.Destinatario, T_Documenti.Destinatario, T_Posta.Allegato as PROVA FROM T_Posta INNER JOIN T_Documenti ON T_Posta.Destinatario=T_Documenti.Destinatario WHERE T_Posta.Destinatario ='" & Destinatario & "' AND T_Posta.Allegato IS NOT NULL" set rs1 = conn.execute(sql) set rs2 = conn.execute(sql2) set rs3 = conn.execute(sql3) response.Write("<table border='1' align='center'>") If rs3.EOF then response.Write("<CENTER>") Response.Write("Non ci sono allegati") response.Write("</CENTER>") Else response.Write("<form name='allegati' method='post' action='cancellazioneAllegato.asp?ID=" & ID & "'") response.Write("<tr>") response.write("<th>") response.Write("NOME ALLEGATO") response.Write("</th>") response.Write("<th>") response.write("CANCELLA") response.Write("</th>") response.Write("</tr>") Do While Not rs3.EOF response.Write("<tr>") response.write("<td>") response.write(rs3("PROVA")) response.write("</td>") response.write("<td align='center'>") response.Write("<input type='checkbox' name='canc' value=" & rs3("PROVA") & ">" & "") response.write("</td>") response.Write("</tr>") rs3.movenext Loop response.Write("<tr>") response.Write("<td align='center'>") response.write("<input type='reset' value='Deseleziona Tutto'") response.Write("</td>") response.Write("<td align='center'>") response.write("<input type='submit' value='Cancella'") response.Write("</td>") response.Write("</tr>") end if response.Write("</table>") rs3.Close conn.Close response.Write(" ") response.Write("<table align='center'>" & "<tr>" & "<td align='center'>") %> <tr><td align="center">Indietro</td></tr> <% response.Write("</td>" & "</tr>" & "</table>") response.Write("</form>") %>
il file dove è presente la query di Update e :
codice:<% ID = session("ID") response.write(ID) dim conn, rs, sql, sqldelete dim strconn dim nomifile, canc dim i, s, File_Object, Cartella_Object, File_System_Object ' --- costruzione stringa di connessione al db --- Set Conn = Server.CreateObject("ADODB.Connection") Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};" &_ "DBQ="& Server.MapPath("Posta.mdb") ID = session("ID") response.write(ID) canc = request.Form("canc") Dim objFSO Set objFSO = Server.CreateObject("Scripting.FileSystemObject") i = 0 s = Split(canc, ", ") response.Write("<CENTER>") response.Write("<span class='titoletto'>") response.Write("I file cancellati sono: ") response.Write(" ") response.Write("</SPAN>") response.Write("<table align='center' border='1'>") For i = 0 To UBound(s) objFSO.DeleteFile ("C:\inetpub\wwwRoot\RecuperoM\Posta\allegati\" & s(i)) sqlS = "SELECT Allegato FROM T_Posta where ID = " & ID & " AND Allegato = '" & s(i) & "'" response.write (sqlS) response.write (" ") set rsS = conn.execute(sqlS) sql = "UPDATE T_Posta SET Allegato = NULL WHERE ID = " & ID & " AND Allegato = '" & s(i) & "'" response.write (" ") response.write (sql) ' esecuzione della sql sul db Set Rs = Conn.Execute(sql) response.Write("<TR>" & "<TD align='center'>") Response.write(s(i)) response.Write("</TD>" & "</TR>") Next response.Write("</TABLE>") response.Write(" ") response.Write("<table align='center'>" & "<tr>" & "<td align='center'>") %> Indietro <% response.Write("</td>" & "</tr>" & "</table>") response.Write("</form>") %>

Rispondi quotando