Jak pomocí adox vytvořit předávací dotaz SQL v Accessu
Střední: Vyžaduje základní dovednosti v makrech, kódování a interoperabilitě.
Tento článek se týká pouze databáze Microsoft Access (.accdb a .mdb).
Souhrn
V tomto článku se dozvíte, jak vytvořit předávací dotaz SQL v jazyce Microsoft Visual Basic for Applications (VBA) s objekty Microsoft ActiveX Data Objects (ADO).
Další informace
V jazyce Visual Basic pro aplikace můžete napsat funkci, která vytvoří předávací dotaz SQL. Předávací dotaz SQL se skládá z příkazu SQL a připojovací řetězec. Když dotaz spustíte, odešle příkazy ke zpracování přímo databázovému serveru. Tím se odstraní režie databázového stroje Microsoft Jet.
S modelem DAO (Data Access Object) můžete použít předávací dotazy SQL ke zlepšení výkonu při přístupu k externím datům. S ADO můžete použít zprostředkovatele Microsoft OLE DB pro SQL Server pro přímý přístup k SQL Server bez režijních nákladů na Microsoft Jet nebo ODBC. Pro přístup k datům v libovolném zdroji dat ODBC můžete také použít zprostředkovatele Microsoft OLE DB pro rozhraní ODBC.
I když už nemusíte v databázi Microsoft Jet vytvářet předávací dotazy SQL, abyste zlepšili výkon, můžete to přesto provést pomocí adox a poskytovatele jet. Následující kód ukazuje, jak vytvořit předávací dotaz SQL.
POZNÁMKA: Ukázkový kód v tomto článku používá rozšíření ADO i ActiveX Data Objects pro data Definition Language and Security (ADOX). Aby tento kód běžel správně, musíte kliknout na Odkazy v nabídce Nástroje v Editor jazyka Visual Basic a ujistěte se, že jsou vybrány následující dva odkazy:
- Knihovna Microsoft ActiveX Data Objects 2.1
- Microsoft ADO Ext. 2.6 pro DDL a zabezpečení
Společnost Microsoft poskytuje ukázky programování pouze pro ilustraci, bez žádné záruky výslovně uvedené nebo odvozené, včetně, bez omezení, odvozených záruk vztahujících se k obchodovatelnosti nebo vhodnosti pro určitý účel. Tento článek předpokládá, že uživatel je obeznámen s programovacím jazykem, který je předmětem ukázky, a s nástroji použitými pro vytvoření a ladění skriptu. Pracovníci technické podpory společnosti Microsoft mohou vysvětlit funkce určitého postupu, nemohou však následující příklady rozšířit o další funkce nebo konstrukce podle konkrétních požadavků uživatele. Pokud chcete vytvořit předávací dotaz SQL v kódu, postupujte takto:
- Otevřete ukázkovou databázi Northwind.
- Vytvořte nový modul a zadejte nebo vložte následující kód:
Function CreateSPT(SPTQueryName As String, strSQL As String)
Dim cat As ADOX.Catalog
Dim cmd As ADODB.Command
Set cat = New ADOX.Catalog
Set cmd = New ADODB.Command
cat.ActiveConnection = CurrentProject.Connection
Set cmd.ActiveConnection = cat.ActiveConnection
cmd.CommandText = strSQL
cmd.Properties("Jet OLEDB:ODBC Pass-Through Statement") = True
'Modify the following connection string to reference an existing DSN for
'the sample SQL Server PUBS database.
cmd.Properties _
("Jet OLEDB:Pass Through Query Connect String") = _
"ODBC;DSN=myDSN;database=pubs;UID=sa;PWD=;"
cat.Procedures.Append SPTQueryName, cmd
Set cat = Nothing
Set cmd = Nothing
End Function
Chcete-li otestovat tuto funkci, zadejte následující řádek v okně Immediate a stiskněte klávesu ENTER:
? CreateSPT("MySptQuery"; "Select * from Authors")
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro