Warsztat 3: Wysyłanie komunikatów do użytkowników bazy.

Poslaniec.zip
Autor: Guciu (gburek@tlen.pl)
Baza w formacie MsAccess 97
(program wymaga Windows co najmniej NT lub 2000)
342kB, 09-01-2004

Opis problemu:

Co zrobić gdy musimy dokonac pilnej zmiany strukturze bazy sieciowej, a tymczasem jest ona w zajęta przez 'stado' użytkowników?

Zaczyna się dzwonienie, bieganie - proszę wyjść na pół godziny z programu... itd, itp.

Rozwiązanie:

Standardowy sposób zbudowania takiego mechanizmu powiadamiania w Accessie jest bardzo nieelegancki, ponieważ polega na ciągłej pracy formularza z Timerem na stacjach roboczych. Ta metoda (raczej dla desperatów) cały czas obciąża nasz program, co czyni go bardziej zawodnym i wolniejszym w działaniu.

Na szczęście istnieje metoda piękna i lekka - dla mnie rewelacja! Przedstawił ją Guciu (gburek@tlen.pl) w programie Poslaniec.
Oto, co pisze autor na temat swojej pracy:

W czasie wysyłanie z "Wysyłka" i Wysyłka_ldb" jest dokonywany zapis do tabeli "Historia" Formularz "Wysyłka" oparty na tabeli "Dane" służy do wysyłania wiadomości do osób znajdujących się w tej tabeli. Wszystkim użytkownikom w tabeli "dane" można przypisać jakąś nazwę grupy, do wyboru grupy służy Kombi u góry formatki. Formularz "Wysyłka_ldb" oparty na tabeli "pliki" służy do wysyłania wiadomości do użytkowników zalogowanych do bazy access (pliki mdb i mdw). Pobiera wszystkich użytkowników z pliku "ldb", jeśli taki istnieje i odczytuje czy są zalogowani do bazy. Można też listę tych użytkowników dodać do tabeli "Dane". Należy wybrać sobie pliki przyciskiem wyboru pliku, są one dodawane do tabeli "pliki" (świnka na klawiszu w formularzu "pliki"). Można wybrać listę użytkowników z tabeli Historia (Okno wyboru "Historia wysyłki"), przy czym wiadomości wysyłane są na komputer, a jeśli nie ma danych o komputerze (gdy w historii było wysłane na Login) to wtedy do wysyłki jest brany Login. Do dodawania i modyfikowania wpisów w tabeli "dane" nie zrobiłem formatki jedyne dodawanie rekordów z formatki "Wysyłka_ldb". Myślę, że wystarczy

Suplement:

Prezentowana przez Gucia metoda rozsyłania komunikatów używa mechanizmu Windows, są one dostarczane w momencie wysłania i pojawiają się w oknie niezależnym od Accessa.

Niestety, zauważyłem, że ten sposób wysyłania komunikatów ma swoje wymagania, co do systemu operacyjnego i wymaga okienek w wersji wyższej niż Windows 98. Na szczęście Windows NT, 2000, XP i nowsze są coraz powszechniejsze i wtedy ta metoda sprawdza się znakomicie. 

Na podstawie programu Poslaniec zabrałem się zaraz do wypróbowania nowego sposobu wysyłania komunikatów w Accessie. Tutaj można ściągnąć przykład, który dostosowałem do swoich potrzeb.

K.P.