konto usunięte

Temat: Modyfikacja rekordów

Czy znacie jakiś sposób rejestracji kiedy i kto modyfikował dany rekord?

konto usunięte

Temat: Modyfikacja rekordów

Jeżeli baza nie ma ustawień dostępu to raczej nie ma takiej możliwości. Być może jest w przypadku ustawień dostępu dla użytkowników, ale też nie jestem pewien. Ja to rozwiązywałem w ten sposób, że wszelkie modyfikacje tabeli były dokonywane poprzez formularz. Po uzupełnieniu danych formularz dopisywał dane do tabeli a jednocześnie uruchamiał kwerendę zapisującą zdarzenie (np. modyfikacja danych przez użytkownika o godzinie ...)

konto usunięte

Temat: Modyfikacja rekordów

Mariusz Pniewski:
Jeżeli baza nie ma ustawień dostępu to raczej nie ma takiej możliwości. Być może jest w przypadku ustawień dostępu dla użytkowników, ale też nie jestem pewien. Ja to rozwiązywałem w ten sposób, że wszelkie modyfikacje tabeli były dokonywane poprzez formularz. Po uzupełnieniu danych formularz dopisywał dane do tabeli a jednocześnie uruchamiał kwerendę zapisującą zdarzenie (np. modyfikacja danych przez użytkownika o godzinie ...)

super, możesz mi podesłać taką kwerendkę?
Marcin Ziemian

Marcin Ziemian Administrator
systemów, Raton
Systemy
Informatyczne

Temat: Modyfikacja rekordów

Domyślam się, że są to raczej dwie kwerendy, z których jedna wykonuje opcję modyfikacji rekordu, a druga standardowy Insert INTO tabLoggedAction() values(). Obie wykonywane via kod VBA. W drugiej oczywiście użyta funkcja CurrentUser() i Now() ;)
Pozostaje jeszcze tylko kwestia, co chcesz przechowywać w logach: czy tylko zapis czasu i sprawcy ostatniej operacji na rekordzie, czy też zmieniane wartości w celu ew. przywrócenia danych po jakiejś wpadce...

konto usunięte

Temat: Modyfikacja rekordów

Marcin Ziemian:
Domyślam się, że są to raczej dwie kwerendy, z których jedna wykonuje opcję modyfikacji rekordu, a druga standardowy Insert INTO tabLoggedAction() values(). Obie wykonywane via kod VBA. W drugiej oczywiście użyta funkcja CurrentUser() i Now() ;)
Pozostaje jeszcze tylko kwestia, co chcesz przechowywać w logach: czy tylko zapis czasu i sprawcy ostatniej operacji na rekordzie, czy też zmieniane wartości w celu ew. przywrócenia danych po jakiejś wpadce...
Dokladnie o to mi chodzilo

konto usunięte

Temat: Modyfikacja rekordów

Marcin Ziemian:
Domyślam się, że są to raczej dwie kwerendy, z których jedna wykonuje opcję modyfikacji rekordu, a druga standardowy Insert INTO tabLoggedAction() values(). Obie wykonywane via kod VBA. W drugiej oczywiście użyta funkcja CurrentUser() i Now() ;)
Pozostaje jeszcze tylko kwestia, co chcesz przechowywać w logach: czy tylko zapis czasu i sprawcy ostatniej operacji na rekordzie, czy też zmieniane wartości w celu ew. przywrócenia danych po jakiejś wpadce...

również zmienione wartości, żeby można było wyświetlić historię zmian
Marcin Ziemian

Marcin Ziemian Administrator
systemów, Raton
Systemy
Informatyczne

Temat: Modyfikacja rekordów

Paweł Stolarczyk:
Marcin Ziemian:
Pozostaje jeszcze tylko kwestia, co chcesz przechowywać w logach: czy tylko zapis czasu i sprawcy ostatniej operacji na rekordzie, czy też zmieniane wartości w celu ew. przywrócenia danych po jakiejś wpadce...

również zmienione wartości, żeby można było wyświetlić historię zmian

No to już trochę gorzej. Aczkolwiek jest to możliwe do uzyskania. Sęk w tym, że to musi stać po stronie formularza i jego eventów.
Pola formularza mają właściwości OldValue, oraz Value. Niestety, nie jestem w stanie powiedzieć, na którym etapie jest możliwe poprawne odczytanie tych wartości. Generalnie można się pokusić o wstawienie jakichś zmiennych globalnych w ramach formularza (czyt. modułu formularza), do których w evencie BeforeUpdate będziesz wstawiał wartość Value pola (a może OldValue tutaj poprawnie zadziała), natomiast do innej zmiennej wyrzucisz w evencie AfterUpdate wartość po zmianie.
Zapis logu na pewno wykonasz w evencie AfterUpdate. Konstrukcję SQL-a z Insertem pozostawiam już Tobie - mając zmienne z wartościami przed i po zmianie nie powinno to stanowić już problemu.

Powodzenia :)

Następna dyskusja:

modyfikacja formularza




Wyślij zaproszenie do