Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Aggiornamento multiplo record database access

    Buona giornata ho un problemino sull'aggiornamento multiplo di record.
    Devo aggiornare un numero variabile di record alla volta.
    Ho una campo testo con con con ID "descrizione" e unaltro nascosto che recuperà l'id del record da aggiornare e si chiama (idDocumento).
    Questo è quello che sono riuscito a fare fino ad ora:
    codice:
    <%
    Dim descrizione, idDocumento
    descrizione = Request.Form("descrizione")
    idDocumento = Request.Form("idDocumento")
    if (idDocumento <> "") Then
    If (CStr(Request("MM_update")) = "form1") Then
    
    
        Dim arrayId
        Dim idDoc
        arrayId=Split(Request.Form("idDocumento"),",")
         
    	for idDoc=0 to Ubound(arrayId)
    	
        ' execute the update
        Dim MM_editCmd
    
        Set MM_editCmd = Server.CreateObject ("ADODB.Command")
        MM_editCmd.ActiveConnection = MM_scadenzarioDomini_STRING
    	MM_editCmd.CommandText = "UPDATE documenti SET descrizioneDocumento = "
    	MM_editCmd.CommandText = MM_editCmd.CommandText & "'" & descrizione & "' WHERE id_documento = " & arrayId(idDoc)
    	MM_editCmd.CommandText = MM_editCmd.CommandText & "WHERE id_documento = " & arrayId(idDoc)
    	Response.Write(MM_editCmd.CommandText & "
    ")
        MM_editCmd.Prepared = true
    
        MM_editCmd.Execute
    	
    
    	
    	next
        MM_editCmd.ActiveConnection.Close
    
    End If
    %>
    In questo modo io splitto l'id e la query viene eseguita per il totale dei record da aggiornare.
    Il problema è che nel campo descrizione mi vengono sempre inseriti per ogni record i valori di tutti e tre.
    Per esempio se io ho tre record da aggiornare e inserisco nei loro campi descrizione:
    Descrizione 1
    Descrizione 2
    Descrizione 3
    Quando eseguo la query nel db per tutti e tre i record avrò inserito: Descrizione 1Descrizione 2Descrizione3 .

    Come posso risolvere?

    Grazie a tutti in anticipo.
    <a href="http://www.robertodidonato.it" target="_blank">Roberto Di Donato</a>

  2. #2
    Ho provato a modificare il codice in questo modo (In rosso la parte modificata):
    codice:
    <%
    Dim descrizione, idDocumento
    descrizione = Request.Form("descrizione")
    idDocumento = Request.Form("idDocumento")
    if (idDocumento <> "") Then
    If (CStr(Request("MM_update")) = "form1") Then
    
    
        Dim arrayId
        Dim idDoc
        Dim arrayDescr
        Dim descrDoc     arrayId=Split(Request.Form("idDocumento"),",")
        arrayDescr=Split(Request.Form("descrizione"),",")      
    	for idDoc=0 to Ubound(arrayId)
    	
        ' execute the update
        Dim MM_editCmd
    
        Set MM_editCmd = Server.CreateObject ("ADODB.Command")
        MM_editCmd.ActiveConnection = MM_scadenzarioDomini_STRING
    	MM_editCmd.CommandText = "UPDATE documenti SET descrizioneDocumento = "
    	MM_editCmd.CommandText = MM_editCmd.CommandText & "'" & arrayDescr(descrDoc)  & "' WHERE id_documento = " & arrayId(idDoc)
    	Response.Write(MM_editCmd.CommandText & "
    ")
        MM_editCmd.Prepared = true
    
        MM_editCmd.Execute
    	
    	
    	next
        MM_editCmd.ActiveConnection.Close
    
    End If
    %>
    In questo modo mi inserisce soolo il promo valore dell'elenco dei campi descrizione.
    Con riferimento all'esempio di prima mi inserisce solo "descrizione 1"
    <a href="http://www.robertodidonato.it" target="_blank">Roberto Di Donato</a>

  3. #3
    Ho risolto il problema.

    L'array del campo descrizione deve essere inserito in questo modo: arrayDescr(idDoc).

    Ciao a tutti e buon proseguimento di giornata.

    Roberto
    <a href="http://www.robertodidonato.it" target="_blank">Roberto Di Donato</a>

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.