Access'te SQL geçiş sorgusu oluşturmak için ADOX kullanma
Orta: Temel makro, kodlama ve birlikte çalışabilirlik becerileri gerektirir.
Bu makale yalnızca Microsoft Access veritabanı (.accdb ve .mdb) için geçerlidir.
Özet
Bu makalede, Microsoft ActiveX Veri Nesneleri (ADO) ile Microsoft Visual Basic for Applications'de (VBA) sql doğrudan sorgusu oluşturma gösterilmektedir.
Daha fazla bilgi
Visual Basic for applications'ta SQL geçiş sorgusu oluşturan bir işlev yazabilirsiniz. SQL doğrudan sorgusu bir SQL deyiminden ve bir bağlantı dizesi oluşur. Sorguyu çalıştırdığınızda, komutlar işlenmek üzere doğrudan veritabanı sunucusuna gönderilir. Bu, Microsoft Jet veritabanı altyapısının yükünü ortadan kaldırır.
Veri Erişim Nesnesi (DAO) modeliyle, dış verilere erişirken performansı geliştirmek için SQL geçiş sorgularını kullanabilirsiniz. ADO ile SQL Server için Microsoft OLE DB Sağlayıcısı'nı kullanarak Microsoft Jet veya ODBC ek yükü olmadan bir SQL Server doğrudan erişebilirsiniz. Herhangi bir ODBC veri kaynağındaki verilere erişmek için ODBC için Microsoft OLE DB Sağlayıcısı'nı da kullanabilirsiniz.
Performansı artırmak için artık Microsoft Jet veritabanınızda SQL doğrudan sorguları oluşturmanız gerekmesine rağmen, ADOX ve Jet Sağlayıcısı'nı kullanarak da bunu yapabilirsiniz. Aşağıdaki kodda SQL doğrudan sorgusunu nasıl oluşturacağınız gösterilmektedir.
NOT: Bu makaledeki örnek kod, Veri Tanımı Dili ve Güvenliği (ADOX) için hem ADO hem de ActiveX Veri Nesneleri Uzantılarını kullanır. Bu kodun düzgün çalışması için Visual Basic Düzenleyici Araçlar menüsünde Başvurular'a tıklamanız ve aşağıdaki iki başvurunun seçildiğinden emin olmanız gerekir:
- Microsoft ActiveX Veri Nesneleri 2.1 Kitaplığı
- DDL ve Güvenlik için Microsoft ADO Ext. 2.6
Microsoft, programlama örneklerini yalnızca gösterim amacıyla sağlar; örtülü veya açık garanti vermez. Buna zımni garantiler, satılabilirlik veya belirli bir amaca uygunluk da dahildir, ancak bunlarla sınırlı değildir. Bu makale, gösterilen programlama dilini ve yordamları oluşturmak ve hata ayıklamak amacıyla kullanılan araçları kullanmayı bildiğinizi varsayar. Microsoft destek mühendisleri, belirli bir yordamın işlevselliğinin açıklanmasına yardımcı olabilir, ancak gereksinimlerinizi karşılamaya yönelik olarak ek işlevsellik sağlamak veya yordamlar geliştirmek amacıyla bu örnekleri değiştirmezler. Kodda SQL geçiş sorgusu oluşturmak için şu adımları izleyin:
- Örnek Northwind veritabanını açın.
- Yeni bir modül oluşturun ve aşağıdaki kodu yazın veya yapıştırın:
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
Bu işlevi test etmek için, Anlık penceresine aşağıdaki satırı yazın ve ENTER tuşuna basın:
? CreateSPT("MySptQuery", "Select * from Authors")
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin