Copiare un record in tbl di appoggio e poi riaggiornare la tbl origine

di bruma il
11 risposte

Salve a tutti

ho una tbl (chiamiamola "originaria", collegata in un db nel server) con moltissimi campi (e un campo [ID] come chiave univoca). 

Vorrei entrare in modifica di un suo singolo record, ma non usando la tbl originaria, bensì copiando il record che mi interessa in una tbl locale (in cui il campo [ID] è semplicemente un long, e non va ovviamente modificato) e aprire un form di edit sul singolo record nella tbl locale.

Così facendo se le modifiche non andassero applicate basta chiudere la form di edit e tutto resta come prima.

Ma se le modifiche VANNO applicate dovrei fare una noiosa update di tutti i campi nella tbl  "originaria", con il rischio di dimenticare qualcosa se tra un anno dovessi aggiungere dei campi.

Copiare i dati dalla tbl "originaria" a quella locate è facilissimo, il noioso è l'operazione inversa.

Avete qualche suggerimento? 

Oppure: se apro in modifica direttamente sul record della tbl "originaria", esiste un modo di annullare tutte le modifiche fatte nel form?

Scusate se sono stato prolisso.

Dimenticavo: Win 10 e Access 2019

ciao e grazie

Maurizio

11 Risposte

  • Serve qualche informazione aggiuntiva perche' non e' chiaro lo scenario: chi ha accesso alle tabelle sul server? Chi scrive/modifica/legge questi dati? Hai accesso esclusivo o condiviso?

  • Ciao

    accesso esclusivo da un solo utente, un FE e un BE

    Grazie

  • Allora non capisco dove e' il problema: un volta collegata la tabella del BE, crei una form basata su una query filtrata sul record da leggere/modificare. Puoi aprire il record in sola lettura poi se devi modificarlo avrai il pulsante di modifica che ti rende editabili i campi che ritieni possano essere modificabili, infine un pulsante di conferma per salvare il record sovrascrivendolo, oppure pulsante annulla per fare il rollback ed annullare tutte le modifiche fatte.

    Mi sembra tutto troppo semplice... Se non e' cosi' puoi spiegare meglio?

  • Ciao

    tutto OK fino ad aprire sulla tabella del BE un form con dati editabili,  filtrato su un certo [id] (quindi un singolo record) , con un pulsante "OK" che chiude e salva le modifiche.

    Ma se ha fatto delle modifiche (anche in più di un campo) che NON vuole salvare come faccio "annulla"?

  • Risolto: su click del btn "annulla", prima annulla e poi chiude il form   

    DoCmd.RunCommand acCmdUndo
    DoCmd.Close

    Graie della tua pazienza

  • 25/06/2026 - bruma ha scritto:

    Risolto: su click del btn "annulla", prima annulla e poi chiude il form   

    DoCmd.RunCommand acCmdUndo
    DoCmd.Close

    Graie della tua pazienza

    Puoi intercettare sia la chiusura che il cambio record.. 

    Alla chiusura "vuoi salvare le modifiche?" Si no

    Al cambio record intercetti l'evento e rilancio la domanda "salvo?" Si no

  • Grazie

    non può cambiare record (è filtrato su un preciso [id])

    se clicca "abbandona" per me è "abbandona" !!! senza altre chiacchere

    ciao

  • Mi sembra un approccio "arzigogolato" ad un problema standard.

    1) selezioni un record
    2) apri una form che lo visualizza, lui e tutte le eventuali dipendenze
        la form ha DUE tasti: [OK], [CANCEL]
    3) l'utente modifica il record
    4) preme il tasto [OK]
    5) NON SI SALVA ANCORA NULLA
    6) si fanno TUTTI i controlli di consistenza del caso
    7) SE i controlli vanno tutti a buon fine, SI AGGIORNA il record nel database

    8) SE qualcosa non va, si visualizza un messaggio di errore, che SPIEGA che cosa non va bene 
        dove l'utente puo':
        8.1) abortire l'intero insieme di modifiche, e quindi chiudere la form COME SE AVESSE premuto il tasto
               [CANCEL]
        8.2) ritornare al punto 2) CON I VALORI CORRENTI in modo da poter fare le modifiche del caso

  • Quoto @migliorabile +1

  • 25/06/2026 - bruma ha scritto:

    Grazie

    non può cambiare record (è filtrato su un preciso [id])

    se clicca "abbandona" per me è "abbandona" !!! senza altre chiacchere

    ciao

    Quindi hai solo un record, suppongo su caselle edit

    25/06/2026 - bruma ha scritto:

    Ciao

    accesso esclusivo da un solo utente, un FE e un BE

    Grazie

    25/06/2026 - bruma ha scritto:

    Ciao

    tutto OK fino ad aprire sulla tabella del BE un form con dati editabili,  filtrato su un certo [id] (quindi un singolo record) , con un pulsante "OK" che chiude e salva le modifiche.

    Ma se ha fatto delle modifiche (anche in più di un campo) che NON vuole salvare come faccio "annulla"?

    Messaggio confermi modifiche? Si no annulla

    Annulla: Magari ha chiuso per errore ma sta ancora modificando quindi non chiude non salva e tutto è ancora in modifica

    Si: confermi e chiudi (non il contrario)

    No: chiude e basta.

    Ma perché vi fate del male?

  • Una cosa però non l'ho capita e mi interessa capire sia lato programmatore sia lato utente, che significa fare modifiche che non si vogliono salvare?

    Da programmatore posso implementare qualcosa e ripensarci, ci sta, un programmatore crea.

    Da utente, inserisco dati di cui ho traccia

    1) un carico lo sbaglio, prendo la bolla, verifico e modifico

    2) una bolla emessa, verifico l'ordine e se ho sbagliato lo modifico, che sia un prodotto, un prezzo o la quantità 

    Il ripensamento deriva da una creazione, scrivo un libro, salvo, modifico e voglio tenere la prima stesura? Salvo con nome aggiungendo revisione x.

    Che significa non voler salvare? Se sbagli modifichi nuovamente.

    È la procedura di lancio di una testata nucleare?

Devi accedere o registrarti per scrivere nel forum
11 risposte