Uruchamianie kodu SQL

Do uruchamiania  kodów SQL w VBA służy metoda docmdRunSQL

kliknij, aby powiększyć

Metoda ta ma 2 argumenty:

      • SQLStatement – kod SQL, argument wymagany
      • USE Transaction – parametr decydujący o użyciu transakcji. Argument opcjonalny, wartość domyślna True

Metody docmd.RunSQL najczęściej używam do uruchamiania kodu SQL będącego zapisem kwerend funkcjonalnych.Metoda ta ma  duże znaczenie w przypadkach, gdy sam kod SQL jest oparty na kwerendzie parametrycznej, więc trudno ją zdefiniować i zapisać na stałe jako obiekt kwerendy. 


Kurs Access 2013 od podstaw

 

Kwerenda dołączająca

Kwerenda dołączająca to typ kwerendy funkcjonalnej. W wyniku jej działania wybrane rekordy z innej tabeli/kwerendy są dołączane do już istniejącej tabeli.

kliknij, aby powiększyć

Wybieramy potrzebne pola tabeli/kwerendy, które mają być dołączone do innej tabeli, ustalamy kryteria, które rekordy mają tam trafić. Następnie naciskamy przycisk Dołącz.
Automatycznie pojawi się formularz, w którym wskazujemy tabelę docelową:

kliknij, aby powiększyć

Na siatce kwerendy pojawi się od razu linia z nazwami pól docelowej tabeli, do której dołączamy rekordy.

kliknij, aby powiększyć

Część nazw pól może być automatycznie wypełniona, brakujące trzeba ustawić ręcznie:

kliknij, aby powiększyć

Chcąc w ten sposób dołączyć rekordy – trzeba uruchomić kwerendę w widoku projektu lub otworzyć ją na pasku nawigacji..Ponieważ to kwerenda funkcjonalna – pojawi się komunikat z ostrzeżeniem  o uruchomieniu. można go ominąć np.makrem:
Makro wyłączające ostrzeżenia

W okienku nawigacji kwerendy dołączające są oznaczone specjalnym symbolem:-

kliknij aby powiększyć

Przy definiowaniu kwerendy bardzo ważne jest dopasowanie typów danych w kolumnach. Jeżeli np. do pola typu liczba będziemy próbować dołączyć dane typu Tekst – pojawi się błąd. No i oczywiście do pola Autonumerowanie nic nie dodajemy.
Ponowne uruchomienie tej samej kwerendy – powoduje, że ponownie zostaną do niej dodane te same wiersze.

W praktyce ten typ kwerendy często wykorzystuję w projektach aplikacji, głównie do archiwizacji rekordów.


Kurs Access - kwerendy

 

Kwerenda tworząca tabelę

Kwerenda tworząca tabelę to typ kwerendy funkcjonalnej. W wyniku jej działania, na podstawie danych z innej tabeli/kwerendy , tworzona jest nowa tabela.
Tak jak wszystkie kwerendy tworzymy ją w oknie projektu kwerendy:

kliknij, aby powiększyć

Wybieramy potrzebne pola tabeli/kwerendy, które mają być polami nowej tabeli i naciskamy przycisk Utwórz tabelę. Pojawi się formularz, w którym wpisujemy nazwę tworzonej tabeli i naciskamy OK.
Chcąc w ten sposób utworzyć tabelę – trzeba uruchomić kwerendę.
Oczywiście  pojawi się komunikat z ostrzeżeniem  o uruchomieniu. ale można go ominąć np.makrem:
Makro wyłączające ostrzeżenia

W okienku nawigacji kwerendy tworzące tabelę są oznaczone specjalnym symbolem:-

kliknij, aby powiększyć

W praktyce – nie pamiętam, żebym kiedyś wykorzystywała w aplikacjach taką kwerendę. Z reguły utworzenie tabeli jest czynnością jednorazową.
Ponowne uruchomienie tej samej kwerendy – powoduje usunięcie tabeli i ponowne utworzenie tej tabeli.

A tu darmowy kurs wideo:


Procedura VBA wyłączająca ostrzeżenia

kliknij, aby powiększyć

Każda aplikacja stworzona w Accessie powinna działać tak, żeby użytkownik  nie musiał się zastanawiać jak reagować na różnego rodzaju komunikaty systemowe bazy. Jak je wyłączyć w kodzie VBA? . Robimy to za pomocą metody obiektu docmdSetWarnings

kliknij, aby powiększyć

Metoda ta może przyjmować wartość typu Boolean:

      • False – przy wyłączeniu ostrzeżeń
      • True – przy włączeniu ostrzeżeń

Warto tu pamiętać, że jeżeli wyłączamy w kodzie ostrzeżenia, to potem należy je włączyć. Nawet wyjście z procedury nie resetuje  ustawień.

Przykładowy kod może wyglądać tak:

Public Sub MojaProcedura()
DoCmd.SetWarnings False
ciąg instrukcji np. kwerendy funkcjonalne
DoCmd.SetWarnings True
End Sub

 

Egzamin Specjalista MS Access

Makro wyłączające ostrzeżenia

Makro wyłączające ostrzeżenia jest często stosowanym elementem bazy danych. W praktycznym zastosowaniu najczęściej wykorzystywane jest przed uruchamianiem kwerend funkcjonalnych.

kliknij, aby powiększyć

Chcąc utworzyć takie makro wchodzimy na kartę
Tworzenie –> Makro

kliknij, aby powiększyć

W kolejnym kroku, w grupie opcji Pokazywanie/ukrywanie  włączamy naciskamy przełącznik Pokaż wszystkie akcje i dodajemy akcję Ustaw ostrzeżenia.

Następnie wyłączamy ostrzeżenia wybierając Nie.

Kliknij, aby powiększyć.

Potem możemy jako kolejną akcję makra ustawić np. otwieranie kwerendy funkcjonalnej. W ostatnim kroku takiego makra dobrze jednak wstawić powrót do stanu początkowego tj.ustawić ostrzeżenia na włączone.


Kurs Access 2013 od podstaw

 

Kwerendy funkcjonalne

Kwerenda funkcjonalna to typ kwerendy modyfikującej, dodającej lub usuwającej dane w tabeli. Najczęściej wykorzystywane są tu:

Ponieważ kwerendy funkcjonalne wpływają trwale na dane zapisane w tabeli, zawsze przed ich uruchomieniem pojawia się komunikat ostrzegający przed ich uruchomieniem.
Można go ominąć -np. w opcjach programu Access usuwając zaznaczenie przy potwierdzaniu kwerend funkcjonalnych.

Można też wyłączyć komunikat makrem lub kodem VBA.

Chcąc uruchomić kwerendę funkcjonalną, wystarczy ją po prostu otworzyć.