Macro per copiare e incollare record

di il
4 risposte

Macro per copiare e incollare record

Ciao a tutti

chiedo aiuto per risolvere questo problema:
vorrei realizzare una macro che da tabella1 copia i record filtrati su campo1 con valore1 e li incolla sempre sulla stessa tabella1 assegnando a campo1 valore2

ringrazio chi mi potesse aiutare

4 Risposte

  • Re: Macro per copiare e incollare record

    Non si capisce nulla.
    L'idea del copiare è articolabile in molti modi.... ma se non hai dimestichezza con il vba il tutto si riduce alla copia pedestre... cosa decisamente poco utile.
    Ad esempio è sempre consigliato pasare non per il copia ma per la definizione di DefaultValue perché garantisce una serie di vantaggi....
    Tuttavia non conoscendo la tua preparazione..... posso solo attendere dettagli.
  • Re: Macro per copiare e incollare record

    Ciao Alex e grazie della risposta,
    cerco di spiegarmi meglio.
    Il database serve per raccogliere dati di testo su decine di campi.
    Se sul campo: dati.[ID prodotto] filtro con un valore (valore1) ottengo centinaia di records.
    Quando devo creare gli stessi records associati ad un diverso valore (valore2) di dati.[ID prodotto], preferisco copiare e incollare i records e poi modificare manualmente i campi di testo interessati invece che inserirli uno per uno con l'onere di riscrivere dei testi che presentano solo piccole differenze. In questo modo risparmio una buona percentuale di lavoro già fatto. Non è quindi una copia pedeste fine a se stessa.
    Attualmente faccio il copia-incolla dei records manualmente da tabella "dati" dopo avere applicato un filtro assegnando un valore a dati.[ID prodotto], poi con una query di aggiornamento:

    UPDATE dati SET dati.[ID prodotto] = [nuovo_IDprodotto]
    WHERE (((dati.[ID dato])>=[da_IDdato]));

    aggiorno il valore di dati.[ID prodotto] dei soli record incollati prendendo come riferimento il contatore del primo record incollato (da_IDdato). Ovviamente l'operazione essendo manuale si espone a rischi di errori e comporta la conoscenza di una procedura.
    Quello che vorrei fare è una macro che svolga le stesse operazioni in modo guidato.

    spero di essere stato più chiaro
    se ci fosse una soluzione con vba prova comunque a propormela, ho comunque conoscenze di programmazione e con un pò di tempo ritengo di riuscire ad applicarla

    grazie ancora
  • Re: Macro per copiare e incollare record

    Si può fare, anche con macro, lo faccio spesso anch'io.
    1) Crea la query con i valori filtrati di Valore1: Query1
    2) Crea una query che filtra il solo Valore2: Query2 (Questa query avrà un solo record)
    3) Crea una query dove importi Query1 e Query2: Query3. Trasforma Query3 in Query di accodamento, accodando il campo con Valore2 e i soli campi di Query1 che ti interessa accodare.
    4) Abbi cura di eseguire soltanto una volta la query di accodamento (Query3).

    Cosa succede. Siccome Query2 ha un solo record è possibile accodare con il prodotto cartesiano, tanto siamo di fronte a un caso di un record di fronte molti (diciamo 50) e saranno proprio 50 record che verranno accodati.
    Sta a te automatizzare tutto con macro.
  • Re: Macro per copiare e incollare record

    Sei un grande Osvaldo!
    semplice e geniale
    funziona perfettamente

    grazie mille
    ciao
Devi accedere o registrarti per scrivere nel forum
4 risposte