Acquista i nostri libri consigliati su Amazon.it
+ Rispondi al messaggio
Pagina 1 di 2 12 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16

Copiare un record (incluso i record multipli sottostante nelle tabelle collegata)

  1. #1
    charliecri non è in linea Novello
    Ciao a tutti,

    vorrei capire come fare seguente operazione (premetto che sono una principiante...)

    Ho una tabella con le Analisi costo (tbl.IDAnalisi)
    A questa tabella è collegata tbl.VociAnalisi
    A questa tabella è collegata tbl.VociAnalisiDett (le lavorazioni singole e specifiche necessarie per realizzare il prodotto IDVoce)

    Relazioni
    tbl.IDAnalisi uno-a-molti tbl.VociAnalisi
    tbl.VociAnalisi uno-a-molti tbl.VociAnalisiDett

    Potrebbe essere di dover emettere una nuovo Analisi prezzo (però magari cambia solo qualche dettaglio). Ho necessità di mantenere però la analisi precedente per questioni di tracciabilità.

    Si può evitare di rifare tutto da capo (anche perché i dati sono tanti e parecchio dettagliati)

    Vorrei copiare un IDAnalisi copiando nello stesso tempo tutti i record di tbl.VociAnalisi e tbl.VociAnalisiDett collegate.

    Troppo?

    Grazie in anticipo...

  2. #2
    L'avatar di gibra
    gibra non è in linea Very Important Person
    Semplicissimo, basta fare una query di INSERT INTO per ogni tabella interessata.

    Qui trovi i dettagli:
    SQL: INSERT Statement
    ℹ️ Leggi di più su gibra ...

  3. #3
    charliecri non è in linea Novello
    Grazie!

    Mi sto documentando...

    Adesso provo a scrivere il codice.

    Posso attivare il tutto con un pulsante e scrivere [Routine evento] su clic - corretto?

    Oppure nella struttura di una query?
    Ultima modifica di charliecri; 05-01-2015 21:55 

  4. #4
    charliecri non è in linea Novello
    Perché stavo giusto lavorando con le query...

    Scusa, ma su alcuni termini mi perdo...

    Come attivo il tutto con un pulsante?

    Grazie...

  5. #5
    OsvaldoLaviosa non è in linea Topo di biblioteca
    Sperando di aver compreso l'intero contesto, provo a ragionare passo passo.
    1. Tu hai una query in grado di prelevare dati PRECEDENTI che ti tornano utili per riciclare una nuova SITUAZIONE (che sinceramente non ho capito)
    2. gibra parla di una query INSERT INTO...non so cosa sia...io immagino una query di accodamento (ossia una query di comando). Questa query ce l'hai già? Ti funziona?
    3. Tu vuoi un pulsante che sfrutti la query di comando eseguendola, poi immagino vuoi rivisualizzare il tutto sui nuovi record.

    Quote Originariamente inviato da charliecri
    Posso attivare il tutto con un pulsante e scrivere [Routine evento] su clic - corretto?
    Se clicchi sul piccolo pulsantino con i 3 puntini accanto [Routine evento] ti si apre la finestra del Visual Basic. Qui dentro devi scriverci un codice in VBA. Sai usarlo? Hai detto di essere una principiante. Se sai usare codice VBA, direi che tanto principiante non sei.

  6. #6
    monello non è in linea Scribacchino
    Quote Originariamente inviato da charliecri Visualizza il messaggio
    Perché stavo giusto lavorando con le query...

    Scusa, ma su alcuni termini mi perdo...

    Come attivo il tutto con un pulsante?

    Grazie...
    Se vai in modalità struttura della query e metti visualizzazione SQL noterai una sintassi che corrisponde a quanto suggerito da Gibra ...

    Copia questa sintassi poi vai nella maschera in modalità struttura , inserisci un pulsante dal menu strumenti e nella proprietà del pulsante
    inserisci nella scheda eventi il seguente codice VBA :

    Docmd.SetWarnings False
    DoCmd.RunSql "incolla la sintassi che hai copiato precedentemente nella visualizzazione SQL della tua QUERY"
    msgbox " Record copiati " ,VBInformation
    Docmd.SetWarnings True

    Altro metodo meno complicato è quello di prendere la query ed associarla sempre al pulsante in maschera all'evento onclick()

    Vedi questa guida per le query di accodamento : Istruzione INSERT INTO - Access
    ℹ️ Leggi di più su monello ...

  7. #7
    charliecri non è in linea Novello
    Qui dentro devi scriverci un codice in VBA. Sai usarlo? Hai detto di essere una principiante. Se sai usare codice VBA, direi che tanto principiante non sei. [/QUOTE]

    Purtroppo mi sto rendendo conto che mi mancano i "pezzi" essendo autodidatta: Uso il codice VBA per alcune cose dove ho imparato a "gestirlo" e fargli fare quello che voglio io... ma non sempre va proprio così

    Ieri mi sono accorta che forse è il caso di studiare un po' di più le query (per adesso nel mio DB ho solo query di selezione e alcune di raggruppamento)

    Vi faccio sapere...

  8. #8
    OsvaldoLaviosa non è in linea Topo di biblioteca
    Quote Originariamente inviato da charliecri
    Ieri mi sono accorta che forse è il caso di studiare un po' di più le query (per adesso nel mio DB ho solo query di selezione e alcune di raggruppamento)
    Le query (INSERT INTO come dicono gibra e monello) di accodamento appartengono alla categoria delle query di comando. Le query di comando sono una via di mezzo fra una query di selezione in quanto selezionano certi dati in base a certi criteri, ma sono di comando (accodamento, aggiornamento, eliminazione ecc...) proprio perchè poi devono eseguire una azione ben precisa come se fossero delle azioni macro o azioni di comando in VBA. Non sono difficili da comprendere.

    Quote Originariamente inviato da charliecri
    Purtroppo mi sto rendendo conto che mi mancano i "pezzi" essendo autodidatta: Uso il codice VBA per alcune cose dove ho imparato a "gestirlo" e fargli fare quello che voglio io... ma non sempre va proprio così
    Però non ti spaventa e non ti sembra arabo come è successo a me quando ero principiante o poco più che medio utente. Il VBA è un universo vastissimo, sbagliare logiche e sintassi è all'ordine del giorno. Consultare il forum per correggerlo è quanto mai utile.
    Non mi sembri poi tanto sprovveduta, vedo che usi i termini tecnici (quelli che conosci) appropriatamente. Solo non avere fretta, agisci passo passo e attendi le corrette indicazioni degli utenti più esperti.

  9. #9
    L'avatar di almorel
    almorel non è in linea Scribacchino
    Salve a tutti,
    voglio solo sottolineare un aspetto che non mi sembra sia emerso: quello delle chiavi primarie e non.

    Se ho ben capito la soluzione proposta, in SQL, è del tipo:

    Insert into tabella select tabella.* from tabella where ChiavePrimaria=qualcosa


    Ma molto verosimilmente la tabella master avrà una chiave primaria che impedirà il caricamento del doppione e, d'altra parte,
    probabilmente la tabella detail accetterà i doppioni, ma poi come li si ricollega al nuovo record master ?

    Direi che le operazioni sulle chiavi (primarie e non) vadano fatte prima dell'inserimento, o mi sfugge qualcosa ?

    Buon anno.
    Alberto
    Ultima modifica di almorel; 06-01-2015 16:56 

  10. #10
    L'avatar di gibra
    gibra non è in linea Very Important Person
    Quote Originariamente inviato da almorel Visualizza il messaggio
    voglio solo sottolineare un aspetto che non mi sembra sia emerso: quello di eventuali chiavi primarie.

    Se ho ben capito la soluzione proposta, in SQL, è del tipo:

    Insert into tabella select tabella.* from tabella where ChiavePrimaria=qualcosa
    No, nessuno ha proposto la soluzione che indichi, proprio perché è sbagliata.
    Se rileggi attentamente la discussione lo capisci meglio.

    ℹ️ Leggi di più su gibra ...

+ Rispondi al messaggio
Pagina 1 di 2 12 ultimoultimo

Potrebbero interessarti anche ...

  1. Risposte: 2
    Ultimo Post: 16-05-2020, 16:05
  2. Risposte: 5
    Ultimo Post: 05-06-2019, 22:26
  3. Risposte: 12
    Ultimo Post: 18-10-2013, 13:56
  4. Risposte: 8
    Ultimo Post: 04-02-2011, 21:26
  5. La ricerca nelle tabelle con record multi
    Da FlyZone nel forum Visual Basic 6
    Risposte: 4
    Ultimo Post: 08-10-2004, 11:57