Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    45

    inserire uno o più valori nel DB, provenienti da una lista.

    Buongiorno a tutti,
    sicuramente l'oggetto non è molto chiaro, cercherò di spiegarmi meglio...

    Dunque io ho una "lista" (records), proveniente da una tabella (Tbl_DENOMINAZIONI) e si presenta nel seguente modo:

    codice:
    DENOMINAZIONE | TAGLIA
    
    - SCARPE    | 42 
    - GIACCA    | 48
    - GUANTI    | II^
    - PANTALONI | 48
    - e così via per tutti i record... 
    
    N.b. i valori vengono collocati in delle input text posizionate all'interno di una Form.
    Da questa schermata l'utente deve aggiornare la TAGLIA per le varie denominazioni e una volta finito premere il tasto INSERISCI/AGGIORNA e scrivere in un altra tabella (Tbl_SCHEDE_VESTIZIONE), i vari valori (poi farò dei controlli per aggiornare oppure aggiungere nuovi record ma, non è questo il problema).

    In passato mi è capitato di utilizzare un checkbox con l'ID dell'oggetto per poi recuperare i valori con la funzione Split() e un ciclo For / Ubound per scrivere i valori ma così dovevo scrivevo solo l'ID con valori diversi, gli altri campi erano sempre identici (es: un range di date, una località, ecc..). In questo caso ho bisogno di processare sempre tutte le righe

    Come posso fare per recuperare e scrivere appunto tutte le righe con i relativi valori, nell'altra tabella?

    Anticipatamente grazie e buona giornata a tutti.
    *Tempista*

  2. #2
    rileggi i valori tramite request.form e ti regoli di conseguenza. ovviamente da qualche parte (magari con un campo hidden) devi mettere l'id del record da aggiornare. comunque ci hai detto troppo poco

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    45
    Ciao Optime,
    ti ringrazio per la gentile risposta. Dunque se io stampo a video i valori delle Request.Form(), ID_ANAGRAFICA, DENOMINAZIONE, TAGLIA, ottengo una cosa del genere;

    codice:
    - 235 (campo hidden)
    
    - SCIARPA A RETE, BASCO, CINTURA, SCUDETTO ITALIA, TELO POLICROMO 
    
    - L, 50, I^, SENZA TAGLIA, SENZA TAGLIA
    Questi valori dovrei scriverli nella tabella (Tbl_SCHEDE_VESTIZIONE) e il PRIMO RECORD per i campi ID_ANAGRAFICA, DENOMINAZIONE E TAGLIA dovrebbero contenere i seguenti valori:

    codice:
    ID_ANAGRAFICA | DENOMINAZIONE | TAGLIA
    235             SCIARPA A RETE  L
    Il secondo record, invece dovrebbe contenere i seguenti valori:

    codice:
    ID_ANAGRAFICA | DENOMINAZIONE | TAGLIA
    235             BASCO           50
    Insomma, alla fine ottengo una un valore fisso che è l'ID_ANAGRAFICA e due Array, come faccio a splittare e scrivere con un ciclo i valori in tabella?

    N.B. l'ID dell'oggetto (denominazione), non mi serve. In realtà, ad ogni invio dei dati, invio sempre TUTTO, poi programmaticamente controllerò:

    - se la denominazione esiste già e ci sono state variazioni, la aggiorno;
    - se la denominazione esiste e non sono state fatte variazioni, non faccio niente;
    - se la denominazione non esiste, aggiungo un record.

    Chiedo scusa se mi sono spiegato male, speriamo di aver fatto meglio questa volta... :-)

    Anticipatamente grazie.
    *Tempista*

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    45
    Ciao Optime,
    dunque ho messo in opera quello che mi avevi consigliato e ho trovato una soluzione funzionale ma in termini di eleganza è una cosa pessima e non mi piace per niente... Cioè invece di aggiornare ogni volta i record che sono stati modificati, elimino a monte tutti i precedenti record e poi faccio l'inserimento. Ho provato con delle If ma qualcosa non quadra, hai per caso qualche consiglio da darmi?

    Questo è il codice (funzionante):

    codice:
       RECORD_TOTALI  = Trim(UCase(Request.Form("RECORD_TOTALI")))
       ID_ANAGRAFICA  = Trim(UCase(Request.Form("ID_ANAGRAFICA")))
       DENOMINAZIONE  = Trim(UCase(Request.Form("DENOMINAZIONE")))
       TAGLIA         = Trim(UCase(Request.Form("TAGLIA")))
    
       Dim ARRAY_DENOMINAZIONE
       ARRAY_DENOMINAZIONE = Split(DENOMINAZIONE,",")
    
       Dim ARRAY_TAGLIA
       ARRAY_TAGLIA = Split(TAGLIA,",")
      
       Sql = "SELECT * FROM Tbl_SCHEDE_VESTIZIONE WHERE ID_ANAGRAFICA = "& ID_ANAGRAFICA &"; "
              Set Rs = server.createobject("adodb.recordset")
                  Rs.Open Sql, Conn, 1, 2
                  
                  While Not Rs.Eof
                  Rs.Delete
    	      Rs.MoveNext
    	      Wend
    
                  For i = 0 to RECORD_TOTALI - 1
                  Rs.AddNew
                  Rs("ID_ANAGRAFICA") = ID_ANAGRAFICA
                  Rs("DENOMINAZIONE") = Trim(ARRAY_DENOMINAZIONE(i))
                  Rs("TAGLIA")        = Trim(ARRAY_TAGLIA(i))
                  Rs.Update
                  Next
    
                  Rs.Close
                  Set Rs = Nothing
    
                  Conn.Close
                  Set Conn = Nothing
                  
                  Response.Redirect("aggiungi.asp?id_anagrafica="& ID_ANAGRAFICA &"")
    *Tempista*

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 © 2026 vBulletin Solutions, Inc. All rights reserved.