Na tej stronie...



DAO a ADO - co lepsze?gęra

Jak wielu jest programistów, tak wiele jest opinii.
Jedni twierdzą, że lepsze jest DAO (Data Access Object). Inni, że lepsze jest ADO (ActiveX Data Object).
Ja od wielu lat programuję przy użyciu technologii dostępu do obiektów bazy danych DAO. Ty używaj tego, co jest lepsze Tobie.
Poniżej znajdziesz przykłady dla DAO.

Wyliczanie obiektęw bazy w kodziegóra

Wyliczanie obiektów bazy danych nie jest trudne i możliwe jest co najmniej na 2 sposoby:
 - w pętli for each danego obiektu (formularza, raportu, tabeli) lub...
 - w pętli for each danego kontenera (container) dokumentów (document).
Pierwszy sposób zawiera tylko jednę wadę: w przypadku formularzy i raportów możliwe jest wyliczenie wyłącznie otwartych formularzy lub raportów
Drugi zaś wylicza wszystkie obiekty bazy danych!

Sposęb 1:

(w bieżącej bazie danych)

Tabele
Kwerendy
Formularze
Raporty

Sposęb 2:

(w bieęęcej lub innej bazie danych)



Dynamiczne tworzenie/zmiana kwerendgęra

O ile kwerenda jest obiektem bazy danych Accessa przechowujęcym zapytanie SQL, o tyle jej nazwa jej bardziej przyjazna nię stwierdzenie "zapytanie SQL".
Tworzenie kwerendy w oknie projektu lub za pomocę kreatora jest ręwnie przyjemne, co ęatwe, bo sam uęytkownik nie musi przejmowaę się techniczę stronę zapytania (skęadnię).
Tu i teraz dowiesz się, jak budowaę kwerendy w kodzie.

Z przykroęcię stwierdzam, ęe nie będę się zajmowaę skęadnię SQL(...moęe z czasem...).

Tworzenie i modyfikacja istniejęcej kwerendy w kodzie nie jest niczym trudnym.
Naleęy pamiętaę tylko o dwęch rzeczach:
 - nieistniejęcej kwerendy nie da się zmodyfikowaę,
 - nie da się dodaę nowej kwerendy, jeęli kwerenda pod takę samę nazwę juę występuje w kolekcji.
Pamiętajęc o powyęszym, sprębujmy napisaę kawaęek uniwersalnego kodu:
Wywoęanie moęe odbywaę się tak: Uruchomienie zapisanej kwerendy, to juę pestka. Wszystko zaleęy od tego jakiego typu jest to kwerenda.
Otę, najogęlniej rzecz bioręc, kwerendy mogę wybieraę rekordy lub je modyfikowaę.
Do wybierania rekordęw sęuęy sęowo SELECT, dodawania INSERT, zmiany UPDATE, usuwania DELETE.
Dla SELECT będzie to np.: DoCmd.OpenQuery "nazwaKwerendy_LUB_tekstSQL", acViewNormal
Dla INSERT, UPDATE, DELETE będzie to np.: DoCmd.RunSQL "tekstSQL", lub CurrentDb.Execute "nazwaKwerendy_LUB_tekstSQL"
Czas na przykęady...
Zaęęmy, ęe w bazie danych jest tabela PRACOWNICY. Zawiera ona pola:
Nazwa polaTypRozmiar
PESELtekst11
Imietekst30
Nazwiskotekst50
DataUrdata 

Z tabeli PRACOWNICY chcesz wybraę Imiona i Nazwiska tych pracownikęw, ktęrych data urodzenia jest mieęci się w zakresie 01-01-1970 do 31-12-1980: Do tabeli PRACOWNICY chcesz dodaę rekord: W tabeli PRACOWNICY chcesz zmienię rekord: Z tabeli PRACOWNICY chcesz usunęę okreęlony rekord:

Import/Eksport danych do/z Accessagęra

Eksport i import danych z i do Accessa moęliwy jest za pomocę standardowych narzędzi Accessa, ale... Nie zawsze to zaspakaja potrzeby aplikacji. Ponięej przedstawione sę sposoby na eksport danych do pliku tekstowego, arkusza Excela i dokumentu Worda (do tabeli).
UWAGA! W kodzie wykorzystano funkcję ChangeQuery(), ktęra zostaęa zaprezentowana wczeęniej oraz funkcję MyFileExists() z myęlę o tych, co korzystaję z Access'a 97.




Pozdrawiam
Maciej Łoś