Newsgroup: it.comp.appl.access
Titolo: Impostare una tabella "Archivio"

Un saluto al NG.
Sono nuovamente a chiedere alcuni "consigli".
In un DB dove alcuni dati sono soggetti a variazioni
(Es: aggiornamento su Tabella Indirizzi)
cosa dovrei fare per conservare (o copiare) il veccio record in una
tabella "Archivio" lasciando il record aggiornato nella Tabella "Indirizzi!?
Ho letto qualcosa su Query di Accodamento e/o Aggiornamento ma,
non "afferro" il concetto o meglio, non capisco (se queste sono le 
soluzioni),
come metterle in pratica.
Forse, mi lascio ingannare dal fatto che quando digito la variazione in un 
campo,
ho gi� perso il precedente!?!
Un grazie anticipato per la ...pazienza!
Michele 


Ciao Michele, una volta creata la Tabella Archivio (vuota), puoi
inserire un pulsante a fianco del record della maschera (origine
record tabella Indirizzi) in modo da avere un pulsante per ogni record
ed inserisci la seguente routine:
Dim ss As DAO.Recordset
Set ss = CurrentDb.OpenRecordset("Archivio")
ss.AddNew
ss!Campo1 = Me.Campo1
ss!Campo2 = Me.Campo2
ecc...
ss.Update
ss.Close
Set ss = Nothing
In questo modo potrai archiviare i vecchi dati prima di modificarli.
Ciao Vladimiro.

 Ciao Vladimiro.
Grazie Vladimiro,
funziona che � un piacere!!!!!
Pertanto, ora posso sperimantare ...pseudo-alternative.
In pratica vorrei vedere se, per migliorare la funzionalita�,
sarebbe opportuno che,
dopo aver "copiato il file in archivio", (utilizzando il tuo suggerimento),
appaia,
dopo una qualsiasi modifica,
un MsgBox con l'avviso di
confermare o meno la modifica e quindi,
su Yes o No,
riprendersi i dati dall'archivio o,
tenersi i dati Modificati!
...La strada � lunga ma,
...lascia ben sperare!
Un Caro saluto e grazie ancora!
Ciao
Michele

 - Mostra testo citato -
Ciao Michele,
basta inserire su Prima di aggiornare della maschera il seguente
codice:
 If MsgBox("Confermare i dati modificati?", vbQuestion + vbCritical +
vbYesNo) = vbNo Then
    Cancel = True
    Me.Undo
    Exit Sub
    End If
Cioè se si sceglie no, tutto ritorna come prima, altrimenti i dati
restano modificati.
Adesso il problema e capire cosa ci vuoi fare con i dati inseriti in
Archivio; eliminarli o lasciarli comunque?
Fammi sapere.
Ciao Vladimiro.

 - Mostra testo citato -
Ciao Michele,
basta inserire su Prima di aggiornare della maschera il seguente
codice:
 If MsgBox("Confermare i dati modificati?", vbQuestion + vbCritical +
vbYesNo) = vbNo Then
    Cancel = True
    Me.Undo
    Exit Sub
    End If
Cio� se si sceglie no, tutto ritorna come prima, altrimenti i dati
restano modificati.
Adesso il problema e capire cosa ci vuoi fare con i dati inseriti in
Archivio; eliminarli o lasciarli comunque?
Fammi sapere.
Ciao Vladimiro.
...Semplicemente "PERFETTO" !!!
l'unico accorgimento che ho aggiunto, � stato
quello di:
1)  impostare la Maschera per impedirne le modifiche
2) Inserire nel codice del Pulsante (...che copia il record in archivio)
    Me.AllowEdits = True
3) Aggiungere Me.AllowEdits = False nel codice del Msgbox
    per ripristinare la condizione standard della Maschera.
Per quanto attiene i Record "Archiviati",
� bene che restino archiviati ....a prescindere!!!
In questo modo si avranno sempre tracce di chi e quando qualcuno
compie azioni sul record.
Un'ultima cosa,
(solo per curiosit�)
premesso che la Maschera � gi� "Filtrata",
quindi ...solo un record presente per la modifica,
il MsgBox, compare solo se faccio click sulla "matita" che
solitamente avvisa che staimo "intervenendo" sui campi del record.
In Breve, il "Prima di aggiornare" non � scontato ma,
� vincolato al click sulla matita a differenza di una "Maschera Continua",
dove, il MsgBox appare quando si passa su un altro Record!
Comunque, cos� mi st� benissimo,
metter� una Descrizione che invita l'utilizzatore a fare il click
sulla "Matita" !!!
Anche se, chiudendo la Maschera, il MsgBox si "attiva"
Vladimiro, che dirti,
Grazie di tutto!
Probabilmente per te o per gli altri amici del NG
sono soluzioni "Sempliciotte" ma io, purtroppo,
"bazzico" principalmente su Excel e,
premesso che non sono una "Celebrit�" in VBA, non conosco
i termini proprietari di Access che per�, grazie a Voi, sto ...imparando,
(es: stLinkCriteria, DoCmd stDocName etc etc etc)
Ciao,
Michele

 - Mostra testo citato -
Ciao Vladimiro.