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

    aggiornamento record multiplo

    Ho una tabella (leggo i dati da un db access) che contiene i nominativi di alcuni utenti e i servizi a loro associati.



    Vorrei fare in modo che sia possibile selezionare più servizi/utenti e aggiornare la tabella del db secondo i campi flaggati.

    Non ho la minima idea di come fare. Mi potete aiutare? Non so quanti saranno gli utenti, come posso fare? Devo dividere per singolo utente o è possibile fare qualcosa per aggiornarli tutti contemporaneamente?

    Grazie

  2. #2
    Ad ogni check associ l'ID della tabella e poi quando devi aggiornare fai:

    codice:
    Update tabella set colonna1, colonna2,... colonnaN 
      where id in(<QUI AVRAI GLI ID FLAGGATI>)
    P.S.:Il disegno mi sembra scassato o è impresisone mia? :master:
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

  3. #3
    Grazie per la risposta, ma non ho capito come fare. Come li recupero gli id. La tabella del db ha 10 colonne:
    - cod, cognome, nome, S1,...S8

    Update servizi set s1, s2,... s8
    where id in(<come recupero qui gli id?> )

    Per l'img ho fatto uno screenshot e ho cancellato (un po' in fretta) i nomi degli utenti/servizi)

    Grazie

  4. #4
    Ogni checkbox avrai un valore che prenderai dal db in fase di lettura record:

    codice:
    <input type="checkbox" name="scelta" value="<%=objrs("ID")%>">
    Quando farai il submit della form, dopo avere selezionato gli ID in elenco, nella pagina che andrai ad invocare ti basta fare:

    codice:
    id = request.form("scelta")
    e poi:

    codice:
    Update tabella set colonna1, colonna2,... colonnaN 
      where id in(id)
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

  5. #5
    Proprio non ci capisco niente. Dato che il checkbox ha sempre un nome per ogni servizio (es. S1), quando recupero i valori mi arrivano separati da virgole, ma come faccio a dividerli (non so come posso usare lo split, non sapendo quanti sono in totale). Provo a fare un esempio: se per il servizio s5 ho 10 utenti, ne flaggo 7 avrò come id 7 valori separati da virgole, mentre se ne flaggo solo 5 avrò solo 5 valori. Come faccio ad impostare la query con i valori suddivisi? E' quel "in(id)" che hai indicato nel codice? A cosa serve?

    Grazie

  6. #6
    E' giusto che ti arrivino separati da virgole, ma non hai bisogno di splittare.
    In SQL la clausola IN procede ad un'operazione massiva su quei record specificati.
    Nel caso tuo un aggiornamento.
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

  7. #7

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.