Duplicare dati tabella principale e dati correlati altra tabella

Anonimo
2013-10-16T14:37:43+00:00

Ciao,

avrei la necessità di duplicare i dati di una tabella e i dati correlati ad un'altra tabella con ralazione uno a molti. 

Ho creato una maschera principale (Duplica_dati) con 2 combobox, la prima contenente la descrizione dei dati (origine righe: Query che punta all'ID_descrizione) che devo duplicare, la seconda contenente la descrizione dei nuovi dati che saranno duplicati (origine righe la stessa Query che punta all'ID_descrizione).

Sotto ho creato la Sottomaschera (origine record: query con gli stessi campi della tabella dati), all'interno della Sottomaschera ho un'altra Sottomaschera (origine record: query con gli stessi dati della 2^ tabella dati correlati).

Il mio problema è che riesco a duplicare i dati relativi alla prima Sottomaschera creando una Query_Duplica_descrizione e successivamente una Query di accodamento. I dati della 2^ Sottomaschera come li duplico? Creando un'altra Query_duplica_sottodati e un'altra Query di accodamento o basta una sola  Query_Duplica_descrizione e creo una seconda Query di accodamento?? Le ho provate tutte ma con difficoltà.

Grazie

Microsoft 365 e Office | Access | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento
Risposta accettata dall'autore della domanda
Anonimo
2013-10-21T09:53:44+00:00

Ciao Roberto,

ho pubblicato qui https://skydrive.live.com/#cid=5682C8A718EF6328&id=5682C8A718EF6328%21264 il tuo db con la funzione Duplica sistemata.

Ho sostanzialmente aggiunto una query Accoda2

INSERT INTO SC_Fasi_Funzioni_Parametri ( ID_Fasi, ID_Funzioni, ID_Parametri, Valore, ID_SC_Funzioni_Fasi )

SELECT [Forms]![Duplica_Fase]![CasellaCombinata8] AS Espr1, SC_Fasi_Funzioni_Parametri.ID_Funzioni, SC_Fasi_Funzioni_Parametri.ID_Parametri, SC_Fasi_Funzioni_Parametri.Valore, SC_Fasi_Funzioni.ID_SC_Funzioni_Fasi

FROM (SC_Fasi_Funzioni_Parametri INNER JOIN Fasi ON SC_Fasi_Funzioni_Parametri.ID_Fasi = Fasi.ID_Fasi) INNER JOIN SC_Fasi_Funzioni ON SC_Fasi_Funzioni_Parametri.ID_Funzioni = SC_Fasi_Funzioni.ID_Funzioni

WHERE (((Fasi.descrizione)=[Forms]![Duplica_Fase]![Descrizione]) AND ((SC_Fasi_Funzioni.ID_Fasi)=[Forms]![Duplica_Fase]![CasellaCombinata8]));

che viene richiamata dal pulsante pubblica dopo la Acoda.

La risposta è stata utile?

0 commenti Nessun commento

19 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2013-10-22T13:38:18+00:00

    Ciao Cinzia,

    grazie mille per il DB corretto (funziona ottimamente), sto riportando il tutto sul mio DB originale, quello che ho caricato su SkyDrive era con nomi di fantasia e molto meno complesso. In un primo momento sembra non funzionare del tutto, con la prima Query "Accoda" è tutto ok, con la seconda Query "Accoda2" ho dei problemi, mi accoda molti più record, crea dei doppioni strani. Cerco di dare un'ulteriore controllata, probabilmente sbaglio in qualcosa, poi ti faccio sapere.

    Grazie

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2013-10-20T16:32:52+00:00

    Ciao a tutti, ringrazio per la pazienza, probabilmente non sono riuscito a spiegarmi correttamente perchè abbastanza complicato. Sono riuscito a pubblicare su SkyDrive, che non avevo mai utilizzato fino ad ora, il DB ridotto all' "osso" che rende perfettamente l'idea di quello che volevo realizzare.

    Se aprite la Maschera [Fasi], nella combobox Descrizione (ID_Fasi) vedrete visualizzato "Fusione Platino", nella Sottomaschera [SM_SC_Funzioni_Fasi] sono presenti i dati di una determinata procedura con i suoi campi (in pratica i vari Step (numerici incrementati) e delle Funzioni associate). All'interno di questa è presente un'altra Sottomaschera [SM_SC_Fasi_Funzioni_Parametri] che dettaglia ulteriormente queste Funzioni, con dei Parametri e dei valori. A volte, come vedete, possono anche esserci delle Funzioni senza Parametri e senza valori associati.

    Ora, quello che sono riuscito a realizzare per duplicare tutti questi dati è questo: aprite la Maschera [Duplica_Fase], Vi troverete la combobox Descrizione dove poter scegliere un determinato ID_Fasi e subito sotto un'altra combobox Nuova Fase, dove poter scegliere un'altra Fase vuota e duplicarne i dati per poi modificarli. Se scegliete come Nuova Fase: "Fusione Palladio" e cliccate sul bottone Duplica, il gioco è fatto, si fa per dire! Infatti se aprite di nuovo la Maschera [Fasi] e scegliete "Fusione Palladio" la duplicazione è avvenuta per i dati della Tabella [SC_Fasi_Funzioni] e ovviamente non per la Tabella [SC_Fasi_Funzioni_Parametri]. Mi aiutate a risolvere questo problema??

    Ho tentato con vari metodi ma non ci sono riuscito.

     il link:   https://skydrive.live.com/redir?resid=BC08B92564FDBE97!108  

    Grazie

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2013-10-20T08:00:55+00:00

    In realtà le mie tabelle e relative relazioni sono così strutturate:

    ....................

    Tabella 3 ......  ID_Tabella2, ID_Campo1_Tabella2, Campo2 .........

    Confermo:   Prima con 2 tabelle si capiva poco,   adesso con 3 tabelle si capisce di meno

    poi mi sembra strano quel  "ID_Campo1_Tabella2"

    del resto se duplichi bene le prime 2 tabelle la 3° dovrebbe essere semplicemente un copia e incolla del codice.

    é lecito che non puoi postarci il DB  ma se ci posti  una MiniDemo nuova con:

    • 3 tabelle con nomi di fantasia
    • Campi minimi con nomi di fantasia
    • record minimi anch'essi di fantasia

    ci aiuiti ad aiutarti !!!!

    In alternativa cerca di essere piu dettagliato

    .

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2013-10-20T07:53:56+00:00

    Ciao Roberto,

    continuo a non capire (colpa mia):

    a) dove duplichi i dati delle tre tabelle. In altre tre tabelle gemelle con le stesse relazioni preimpostate?

    b) perché utilizzi una query di selezione prima delle query di accodamento

    c) non riesci a duplicare la tabella 3 per quale motivo? Hai un errore nella query che fai?

    Da quello che vedo, una volta definito l'ID di tabella1 (dalla combo sulla tua maschera) a cascata andrai a estrarre i record di tabella2 e poi di tabella3 che hanno lo stesso numero ID nel campo ID_Tabella1 accodandoli nelle rispettive tabelle di destinazione

    David

    La risposta è stata utile?

    0 commenti Nessun commento