Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    262

    Aggiornare due tabelle relazionate

    salve a tutto il forum
    il mio problema è quello esposto nel titolo del post
    ho letto tutto (o quasi..) quello che c'era da leggere
    ho capito le istruzioni sql da usare
    ma praticamente nn riesco a farlo
    qlk mi potrebbe aiutare a modificare lo script ke posto
    x aggiornare le due tbl interessatate?
    o almeno farmi capire praticamente come fare? grazie ragazzi:

    codice:
    <title>Aggiornamento record archivio ASCM</title>
    </head>
    
    <body>
    <%
    data=request.Form("data")
    numero_atto=request.Form("numero_atto")
    oggetto=request.Form("oggetto")
    organo_deliberante=request.Form("organo_deliberante")
    data_ins=request.Form("data_ins")
    forma_giuridica=request.Form("forma_giuridica")
    collocazione=request.Form("collocazione")
    dizionario=request.form("dizionario")
    diz_num=request.form("diz_num")
    
    Set objConn = Server.CreateObject("ADODB.Connection")
    objConn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & server.MapPath("../mdb-database/db1.mdb")
    Set RS = Server.CreateObject("ADODB.Recordset")
    RS.Open "PRINCIPALE, DIZIONARIO", objConn, 3,3
    
    RS.AddNew
    rs("data")=data
    rs("numero_atto")=numero_atto
    rs("oggetto")=oggetto
    rs("organo_deliberante")=organo_deliberante
    rs("forma_giuridica")=forma_giuridica
    rs("collocazione")=collocazione
    rs("dizionario")=dizionario
    rs("diz_num")=diz_num
    rs("data_ins")=data_ins
    
    rs.update
    RS.Close
    objConn.Close
    
    response.Redirect("form_aggiornamento.asp")
    %>
    </body>
    </html>

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    262
    dimenticavo, le due TBL sono composte così

    TBL dizionario

    id
    dizionario
    diz_num (campo numerico)

    TBL PRINCIPALE

    id
    organo_deliberante
    numero_atto
    data
    oggetto
    forma_giuridica
    collocazione
    dizionario (campo num.)
    data_ins

    la relazione è da uno a molti: il campo ID di dizionario con il campo dizionario di PRINCIPALE

    spero di essere chiaro

  3. #3
    Utente di HTML.it L'avatar di longline
    Registrato dal
    Sep 2001
    Messaggi
    5,363
    Non hai letto il capitolo sull'integrità referenziale...: non puoi creare un record figlio di un record padre che ancora non esiste.

  4. #4
    in piu', INSERT e UPDATE si fanno su una tabella alla volta

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    262
    mmm capisco
    ma avreste un qlk da farmi leggere per capire meglio io?

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    262
    allora io spero di aver ben capito
    il discorso ke mi avete fatto più su
    non mi da errori di sorta ma non mi aggiorna nulla
    ho messo solo pochi campi x fare solo una prova
    posto il codice e se qlk m da mano sn grato
    PS
    ma devo ripetere l'operazione x due?
    codice:
    <%
    data=request.Form("data")
    numero_atto=request.Form("numero_atto")
    oggetto=request.Form("oggetto")
    organo_deliberante=request.Form("organo_deliberante")
    data_ins=request.Form("data_ins")
    forma_giuridica=request.Form("forma_giuridica")
    collocazione=request.Form("collocazione")
    dizionario=request.form("dizionario")
    diz_num=request.form("diz_num")
    
    Set objConn = Server.CreateObject("ADODB.Connection")
    objConn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & server.MapPath("../mdb-database/db1.mdb")
    sql="INSERT INTO principale (organo_deliberante, numero_atto, oggetto) VALUES ('organo_deliberante', 'numero_atto', 'oggetto')"
    sql="UPDATE principale SET organo_deliberante=organo_deliberante AND numero_atto=numero_atto  AND oggetto=oggetto WHERE organo_deliberante='organo_deliberante' AND numero_atto='numero_atto'  AND oggetto='oggetto' "
    objConn.Execute(SQL)
    objConn.Close
    response.Redirect("form_aggiornamento.asp")
    %>

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    262
    caspita non pensavo di aver fatto una domanda così difficile

  8. #8
    Utente di HTML.it L'avatar di longline
    Registrato dal
    Sep 2001
    Messaggi
    5,363
    Il tuo codice prepara una stringa SQL, di cui non te ne fai nulla, visto che la sovrascrivi subito.

    Ciò che devi fare è creare il record padre nella tabella principale, con .AddNew cme hai fatto nel primo post. Mentre metti i valori nei campi, metti il valore del campo ID in una variabile.
    Concludi con l'.Update e il .Close

    Poi fai la stessa cosa con la tabella secondaria, usando anche l'ID che hai ricavato prima per collegare i/il record figli/o al record padre.

  9. #9
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    262
    scusa ma non cApisco bene
    come dici di inserire una variabile con il campo ID
    mentre faccio "insert into...VALUES()"
    e poi dovrei inviarlo dal form come faccio x gli altri dati?

  10. #10
    Utente di HTML.it L'avatar di longline
    Registrato dal
    Sep 2001
    Messaggi
    5,363

    Re: Aggiornare due tabelle relazionate

    Come ho detto, devi fare come hai fatto nel primo post:
    codice:
    <title>Aggiornamento record archivio ASCM</title>
    </head>
    
    <body>
    <%
    data=request.Form("data")
    numero_atto=request.Form("numero_atto")
    oggetto=request.Form("oggetto")
    organo_deliberante=request.Form("organo_deliberante")
    data_ins=request.Form("data_ins")
    forma_giuridica=request.Form("forma_giuridica")
    collocazione=request.Form("collocazione")
    dizionario=request.form("dizionario")
    diz_num=request.form("diz_num")
    
    Set objConn = Server.CreateObject("ADODB.Connection")
    objConn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & server.MapPath("../mdb-database/db1.mdb")
    Set RS = Server.CreateObject("ADODB.Recordset")
    RS.Open "PRINCIPALE", objConn, 3,3
    
    RS.AddNew
    rs("dizionario")=dizionario
    rs("diz_num")=diz_num
    NuovoId = rs("id")
    rs.update
    RS.Close
    
    RS.AddNew
    
    rs("data")=data
    rs("numero_atto")=numero_atto
    rs("oggetto")=oggetto
    rs("organo_deliberante")=organo_deliberante
    rs("forma_giuridica")=forma_giuridica
    rs("collocazione")=collocazione
    rs("data_ins")=data_ins
    rs("dizionario")=NuovoId
    rs.update
    RS.Close
    
    objConn.Close
    
    response.Redirect("form_aggiornamento.asp")
    %>
    </body>
    </html>
    [/QUOTE]

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.