Duplicare un record Access

di
Anonimizzato13091
il
7 risposte

Duplicare un record Access

Premetto che ho appena inziato a cimentarmi con access e sono molto ignorante in materia

Ho necessità di fare una tabella con n record e quindi consultarla con query e report.

I singoli record nella tabella che ho creato differiscono per pochi campi, ad esempio per una classe di 30 bambini è necessario inserire i campi maestra, classe, scuola, aula, cognome e nome
Ho pensato ad una maschera di inserimento che permetta di inserire il primo bambino, poi con un pulsante di comando duplicare tutti i campi e quindi cambiare solo cognome e nome

cercando in giro sono arrivato a capire che devo creare una routine in VBA da collegare al pulsante e quindi mi sono bloccato.

Qualcuno può suggerirmi il codice da scrivere per evitare doppioni e non dover reinserire ogni volta tutto da capo?

7 Risposte

  • Re: Duplicare un record Access

    Non so dove hai guardato, ma secondo me potrebbe bastare definire il DefaultValue dei campi detto in modo banale... di certo pensare duplicare è un'opzione, ma quale record vorresti duplicare dei 23 già inseriti...? Non rispondere uno qualsiasi, in programmazione è obbligo avere criteri.
    Quindi se l'idea fosse l'ultimo la proposta di usare la proprietà DefaultValue è la migliore.
    Sfruttando l'evento after update di form, vai a salvare nella proprietà che accennavo il valore appena salvato, ovviamente ESCLUSA la CHIAVE PRIMARIA.
    Nessun bottone....
  • Re: Duplicare un record Access

    Avevo pensato al bottone sulla maschera in modo da poter cercare un record inserito in passato tramite la maschera e quindi inserirne di simili a partire da quello, la risposta alla tua domanda è : "quello che scelgo di duplicare nel momento in cui vado ad inserire".

    Se ho capito bene quello che suggerisci è settare come default value del campo l'ultimo valore inserito che non dovrebbe darmi l'effetto che voglio.
  • Re: Duplicare un record Access

    La risposta che mi hai dato non è una risposta ma ammetto che la domanda era volutamente tendenziosa.
    In sostanza quando dici "quello che scelgo" devi dare per scontato che questo ha solo una traduzione... aprire una maschera aggiuntiva che mostra i record della stessa tabella nella quale stai inserendo, rilevare la selezione attraverso la chiave primaria, aprire un recordset con criterio per estrarre tutti i campi e poi andare a scriverli nel. Default Value perché poi sempre li si finisce.
    ...
    boh ... non è un'approccio normale, per questo visto che hai detto che i dati non differiscono di molto ho proposto di ripescare l'ultimo è estremamemte semplice funzionale e standard.
    Quindi ora sapendo che quello che tu hai in testa poi lo devi realizzare tu in tutti i dettagli traducendo le idee in struttura reale rifletti bene sulle reali esigenze e le discutiamo.
  • Re: Duplicare un record Access

    Finora però non si è mai parlato di tabelle relazionate. Se hai strutturato almeno Classi uno-a-molti con Alunni, con una maschera/sottomaschera Classi/Alunni dovrai digitare soltanto gli Alunni nella sottomaschera, mentre al suo di sopra vedrai i dati FISSI della maschera.
  • Re: Duplicare un record Access

    Intanto grazie dlle risposte, comunque le cose sono più complicate di quanto ho scritto, provo a spiegarmi meglio:

    ho fatto una serie di tabelle tutte in relazione uno a molti con un unica tabella di collegamento poi ho creato una maschera per inserire i dati basata sulla tabella di collegamento mettendoci i campi delle altre tabelle con lo scopo di inserire i dati.
    Inserendo i dati mi sono reso conto che molti record sono simili ad altri già inseriti in passato, quello che vorrei fare è cercare tramite la maschera che uso per iserire i dati il record più simile a quello da inserire, duplicarlo (ovviamente senza duplicare la chiave primaria) e quindi modificare solo quello che mi serve.

    Quindi:
    Le tabelle relazionate ci sono ma le relazioni sono molte di più di una.

    Non voglio aprire una maschera aggiuntiva, voglio che il pulsante mi selezioni il record corrente, lo copi in coda agli altri e mi mostri quello che ho copiato in modo che io possa modificarlo e, se non dovessi modificarlo, mi avvisi che sto creando un doppione.
  • Re: Duplicare un record Access

    Parto dal presupposto che tu abbia tutte le tabelle organizzate correttamente. Quello che vuoi ottenere va analizzato per bene, specificando esattamente tutti i campi, con relativa eventuale provenienza da questa o quella tabella. Parlare in generale o ostratto non ci aiuta a comprendere quello che vuoi fare. Da parte mia provo ad intuire la tua intenzione: anche a me capita di voler automatizzare questo o quell'input quando fiuto analoghi dati in record precedentemente digitati. Si tratta di creare, a seconda dei casi, query di accodamento, serie di istruzioni macro o VBA che dovrebbero automatizzare il tutto...tra l'altro occorre analizzare se ti trovi in una situazione A oppure B, cioè adesso ti serve copiare/accodare tutti quei record che ti ricordano una situazione A, poi un'altra in una situazione B...ma, ripeto occorre che tu racconti tutto nei dettagli: le varianti sono molteplici. Però la prima descrizione di campi non mi sembra affatto normalizzata.
  • Re: Duplicare un record Access

    Ho risolto la cosa con un sistema moooolto più semplice: un copia-incolla dalla visualizzazione tabella, non è bello ma funziona e il database mi dà le informazioni che mi servono.
    faccio ancora un po' di pratica, studio qualche manuale e poi ci riprovo.
    Grazie comunque.
Devi accedere o registrarti per scrivere nel forum
7 risposte