• Metoda CreateQueryDef obiektu DAO.Database (DAO.Connection).
Metoda
CreateQueryDef tworzy nowy obiekt QueryDef,
w określonym obiekcie Database lub Connection.
Krótki opis obiektu QueryDef
Obiekt QueryDef reprezentuje zapisaną kwerendę
w bazie danych Microsoft Jet
. Za pomocą
kodu VBA można powiązać zmienną obiektową QueryDef z istniejącą kwerendą,
utworzyć nową kwerendę, zmienić instrukcję SQL w kwerendzie, podać wartości parametrów
kwerendy, a także wykonać kwerendę.
Trwały obiekt QueryDef w obszarach roboczych Microsoft Jet można traktować jako skompilowaną
instrukcję SQL, która działa szybciej niż równoważna jej instrukcje SQL
wykonana za pomocą
metody OpenRecordset. Wynika to z faktu, że aparat bazy danych Microsoft Jet
nie kompiluje kwerendy przed jej wykonaniem.
Możliwe jest tworzenie tymczasowych obiektów QueryDef. W odróżnieniu od trwałych obiektów QueryDef, tymczasowe obiekty QueryDef nie są zapisywane na dysk, ani nie są dołączane do kolekcji QueryDefs. Są one przydatne w przypadku kwerend, które muszą być uruchamiane wielokrotnie podczas wykonywania programu, lecz nie muszą być zapisywane na dysk, a w szczególności wtedy, gdy odpowiadające im instrukcje SQL są tworzone podczas wykonywania programu.
Składnia metody CreateQueryDef
' definicja:
Function CreateQueryDef([Name], [SQLText]) As QueryDef
' wywołanie:
Set QueryDef = Object.CreateQueryDef([Name], [SQLText])
Składnia metody CreateQueryDef zawiera następujące elementy:
Element | Opis |
---|---|
QueryDef | zmienna obiektowa reprezentująca tworzony obiekt QueryDef. |
Object | zmienna obiektowa reprezentująca otwarty obiekt Database lub Connection, który będzie zawierał utworzony nowy obiekt QueryDef |
Name |
Element nieobowiązkowy typu Variant podtyp String ,
który nadaje niepowtarzalną nazwę nowemu obiektowi QueryDef. Szczegółowe informacje o prawidłowych nazwach
obiektów QueryDef można znaleźć w opisie właściwości Name.
|
SQLText |
Element nieobowiązkowy typu Variant podtyp String ,
który jest instrukcją SQL definiującą obiekt QueryDef.
Jeżeli argument ten zostanie pominięty, można zdefiniować obiekt QueryDef, ustawiając jego
właściwość SQL przed, lub po dołączeniu tego obiektu do kolekcji.
|
Użycie.
Jeżeli w obszarze roboczym Microsoft Jet
przy tworzeniu obiektu QueryDef argument Name nie będzie
ciągiem o długości zerowej
, to utworzony obiekt QueryDef zostanie automatycznie dołączony
do kolekcji QueryDefs. W obszarze roboczym ODBCDirect obiekty QueryDef są zawsze obiektami tymczasowymi.
W obszarze roboczym ODBCDirect
argument SQLText może określać instrukcję SQL lub procedurę
pamiętaną na serwerze Microsoft SQL wraz z jej parametrami.
Jeżeli obiekt określony przez argument Name znajduje się już w kolekcji, wystąpi błąd wykonania.
Można utworzyć tymczasowy obiekt QueryDef, wywołując metodę CreateQueryDef
z argumentem Name w postaci ciągu o długości zerowej
. Obiekt tymczasowy można również uzyskać, ustawiając
właściwość Name nowo utworzonego obiektu QueryDef na ciąg o długości zerowej ("").
Tymczasowe obiekty QueryDef są bardzo użyteczne, gdyż pozwalają wielokrotnie wykonywać dynamiczne
instrukcje SQL bez potrzeby tworzenia nowych, trwałych obiektów w kolekcji QueryDefs.
Tymczasowego obiektu QueryDef nie można dołączyć do żadnej kolekcji, ponieważ ciąg o długości zerowej
nie jest poprawną nazwą dla trwałego obiektu QueryDef. W każdej chwili można ustawić
właściwości Name i SQL nowo utworzonego obiektu QueryDef
i następnie dołączyć go do kolekcji QueryDefs.
Aby wykonać instrukcję SQL w obiekcie QueryDef, należy użyć metody Execute lub OpenRecordset.
Używanie obiektu QueryDef jest preferowanym sposobem realizacji kwerend przekazujących SQL,
skierowanych do baz danych ODBC
.
Aby usunąć obiekt QueryDef z kolekcji QueryDefs w bazie danych Microsoft Jet
,
należy w stosunku do tej kolekcji użyć metody Delete. Natomiast dla bazy danych ODBCDirect
,
należy użyć metody Close w stosunku do obiektu QueryDef.
Słownik użytych terminów.
- • metoda
-
Procedura podobna do instrukcji lub funkcji, operująca na konkretnych obiektach.
Można na przykład zastosować metodę
Print
obiektu Debug w celu przeniesienia drukowanych danych wyjściowych do okienka bezpośredniego w „Oknie analizy programu”. - • kwerenda
-
Sformalizowana instrukcja skierowana do bazy danych mająca zwrócić zestaw rekordów lub wykonać określoną
operację na zestawie rekordów. Na przykład, następująca instrukcja kwerendy SQL zwraca rekordy:
SELECT NazwaFirmy FROM Wydawcy WHERE Region = 'PL'
Tworzone i uruchamiane mogą być kwerendy wybierające, funkcjonalne, krzyżowe, parametryczne i specyficzne dla języka SQL. - • baza danych Microsoft Jet
-
Baza danych utworzona przez aparat bazy danych Microsoft Jet. Plik bazy danych Microsoft Jet ma rozszerzenie nazwy .mdb lub .accdb.
- • instrukcja/ciąg SQL
- Wyrażenie definiujące polecenie języka SQL (Structured Query Language), jak na przykład SELECT, UPDATE lub DELETE, mogące zawierać klauzule, jak np. WHERE i ORDER BY. Ciągi i instrukcje SQL są zwykle wykorzystywane w kwerendach, obiektach typu Recordset i funkcjach agregacji, ale mogą być także używane do tworzenia lub modyfikowania struktury bazy danych.
- • aparat bazy danych Microsoft Jet
- System zarządzania bazą danych pobierający i zapamiętujący dane w bazach danych systemowych i użytkownika. Aparat bazy danych Microsoft Jet może być traktowany jako składnik zarządzający danymi wbudowany w inne systemy dostępu do danych, takie jak Microsoft Access i Visual Basic.
- • zmienna obiektowa
- Zmienna zawierająca odwołanie do obiektu.
- • Variant - typ danych
- Specjalny typ danych, mogący zawierać zarówno dane liczbowe, dane znakowe, daty, jak i wartości specjalne Empty i Null. Funkcja VarType określa sposób traktowania danych typu Variant. Wszystkie zmienne są typu Variant, jeżeli nie zostały zadeklarowane jawnie jako zmienne jakiegoś innego typu.
- • String - typ danych
- Podstawowy typ danych służący do przechowywania informacji znakowych. Zmienna typu String ma stałą lub zmienną długość i zawiera po jednym znaku na bajt. Ciągi znaków o stałej długości mają zadeklarowaną konkretną długość i mogą zawierać od 1 do maksymalnie 65 536 (2^16) znaków. Ciągi o zmiennej długości mogą mieć długość do około 2 miliardów (2^31) znaków (około 65 000 (2^16) znaków.
- • obszar roboczy Microsoft Jet
- Obszar roboczy wykorzystujący aparat bazy danych Microsoft Jet w celu uzyskiwania dostępu do źródła danych. Źródłem danych może być plik bazy danych Microsoft Jet (.mdb), baza danych ODBC, jak np. baza danych Paradox, lub baza danych ISAM.
- • obszar roboczy ODBCDirect
- Obszar roboczy wykorzystujący technologię ODBCDirect w celu uzyskiwania bezpośredniego dostępu do źródeł danych ODBC, z pominięciem aparatu bazy danych Microsoft Jet.
- • ciąg o długości zerowej
- Ciąg nie zawierający żadnych znaków (""). Funkcja Len wywołana dla takiego ciągu zwraca wartość 0.
- • ODBC (Open Database Connectivity)
- Standardowy protokół pozwalający na łączenie się aplikacji z różnymi zewnętrznymi serwerami baz danych lub z plikami. Sterowniki ODBC wykorzystywane przez aparat bazy danych Microsoft Jet umożliwiają dostęp do serwera Microsoft SQL Server i kilku innych zewnętrznych baz danych. Za pomocą interfejsu programowania aplikacji (application programming interface, API) ODBC można także uzyskać dostęp do sterowników ODBC i baz danych, z którymi mogą się one łączyć, bez używania aparatu bazy danych Microsoft Jet.
- • ODBCDirect
- Technologia pozwalająca na uzyskiwanie dostępu do źródeł danych ODBC bezpośrednio, z wykorzystaniem własności DAO, które pozwalają ominąć aparat bazy danych Microsoft Jet.