Daca te referi la o modalitate pentru utilizarea metodei
ColumnHistory din Access pe langa detaliile de utilizare de pe site-ul Microsoft pentru
Application.ColumnHistory Method mai trebuie sa tii cont de urmatoarele:
1. Este obligatoriu ca basa de date sa fie in format Access 2007 (.ACDDB)
2. Este obligatoriu ca pentru campul pe care il doresti sa monitorizezi "istoricul" sa fie in primul rand de tip MEMO si neaparat sa setezi proprietatea acelui camp
AppendOnly pe
True (este jos de tot cand esti pe tabela in
design view pe campul tau
memo)
Pentru "demonstratie" ai atasat un exemplu
ColumnHistory_L1.accdb in care tabela
Table1 are un camp
Field1 de tip memo si cu
AppendOnly pe
True
Si acum... dupa ce am modificat de cateva ori acest camp salvand tabela se pot face urmatoarele observatii:
1. Daca faci "browse" pe tabela, in
Field1 vei "vedea" numai ultima modificare
2. Daca creezi un macro dupa modelul pe care il ai si in link-ul de pe site-ul Microsoft, dar "adaptat" pentru exemplul atasat:
Cod: Selectaţi tot
Sub colhist()
Dim sHistory As String
sHistory = Application.ColumnHistory("Table1", "Field1", "ID=1")
Debug.Print sHistory
End Sub
Vei vedea in fereastra "immediate" (daca o afisezi din
VBA Editor, meniul
View\Immediate window sau apesi
Ctrl+G) modificarile facute in tabela de test pentru inregistrarea cu
ID=1.
Mai exact rezultatul ar trebui sa fie urmatorul:
Cod: Selectaţi tot
[Version: 12/22/2009 4:25:09 PM ] MemoFld
[Version: 12/22/2009 4:25:26 PM ] Alt memo Fld
[Version: 12/22/2009 4:25:38 PM ] Al 3-lea memo fld
Sunt niste inregistrari "aiurea" din lipsa de inspiratie...
3. Daca creezi pentru
Table1 o forma cu
Form Wizard, in exemplul meu se numeste
Table1-FaraHistory o sa vezi, exact ca si la
nota 1 tot numai "ultima modificare" din acel camp.
4. In schimb, pentru acelasi tabel am creat in exemplul atasat si o forma
Table1-CuHistory la care, pentru a vedea "istoricul modificarilor" a trebuit sa modific pentru Field1.Textbox (nu label) campul Control Source sa fie urmatorul:
Cod: Selectaţi tot
=ColumnHistory("Table1","Field1","ID=" & nz([ID],0))
Adica seamana putin cu ce este in macro-ul de la
nota 2, doar ca este adaptat sa ia ID-ul corespunzator din forma /tabel pentru a afisa istoricul in functie de inregistrarea pe care esti... adica pentru inregistrarea cu ID=2 vei vedea in acea forma:
Cod: Selectaţi tot
[Versiune: 22-12-2009 17:38:03 ] Field 2 modificarea 1
[Versiune: 22-12-2009 17:38:11 ] Field 2 modificarea 2
[Versiune: 22-12-2009 17:38:19 ] Field 2 modificarea 3
Sper sa-ti fie de folos...