VBA SQL Örneklerine Erişim

Bu öğretici, SQL'i VBA Access ile kullanma örnekleri içerir. Aşağıda göreceğiniz gibi, Access'te VBA ile SQL sorguları çalıştırmak için aşağıdakilerden birini kullanabilirsiniz: DoCmd.RunSQL veya CurrentDb.Execute yöntemler.

SQL Seçimi

Bu örnek, bir kayıt kümesi açmak için SQL Select deyimini kullanacaktır:

Dim rs As Recordset Set rs = CurrentDb.OpenRecordset("num=0 olan Tablo1'den * seçin", dbOpenDynaset)

SQL Güncelleme Tablosu

Bu VBA kodu satırı, bir Tabloyu güncellemek için DoCmd.RunSQL yöntemini kullanır:

DoCmd.RunSQL ("GÜNCELLEME tablosu1 SET num =0 burada num=999")

Veya veritabanı nesnesinin .Execute yöntemini kullanabilirsiniz:

CurrentDb.Execute "GÜNCELLEME tablosu1 SET num =0 burada num=999"

SQL Değiştirme Tablosu

Bu VBA kodu satırı, Tabloyu Değiştirmek için DoCmd.RunSQL'i kullanır:

DoCmd.RunSQL ("TABLO DEĞİŞTİR Tablo3 SÜTUN EKLE Maaş parası")

Veya veritabanı nesnesinin .Execute yöntemiyle:

CurrentDb.Execute "TABLO DEĞİŞTİR Tablo3 SÜTUN EKLE Maaş parası"

Bırakma Tablosu

Bu VBA kodu satırı, Tabloyu Değiştirmek için DoCmd.RunSQL'i kullanır:

DoCmd.RunSQL ("DROP Tablo Tablosu1")

Veya veritabanı nesnesinin .Execute yöntemiyle:

CurrentDb.Execute "DROP Table Table1"

SQL Sil

Bu kod, bir tablodan kayıtları silmek için DoCmd.RunSQL'i kullanır:

DoCmd.RunSQL ("Tablo1'den SİL, burada num=999")

Veya veritabanı nesnesinin .Execute yöntemiyle:

CurrentDb.Execute "num=999 olan tablo1'DEN SİL"

İçine SQL Ekle

Bu DoCmd.RunSQL örneği, kayıtları bir tabloya ekler:

DoCmd.RunSQL ("Tablo1'e EKLE ( LastName, dob, num ) DEĞERLER ('L1',#01/01/2001#,78)")

Veya veritabanı nesnesinin .Execute yöntemiyle:

CurrentDb.Execute "INERT INTO Table1 ( LastName, dob, num ) DEĞERLER ('L1',#01/01/2001#,78)"

SQL Oluşturma Tablosu

Bu kod, SQL kullanarak bir Tablo oluşturacaktır:

CurrentDb.Execute "CREATE TABLE Table1(KeyID SAYAÇ KISITLAMASI BirincilAnahtar BİRİNCİL ANAHTAR, Alan1 METİN, Alan2 METİN)"

Veya veritabanı nesnesinin .Execute yöntemiyle:

CurrentDb.Execute "CREATE TABLE Table1(KeyID SAYAÇ KISITLAMASI BirincilAnahtar BİRİNCİL ANAHTAR, Alan1 METİN, Alan2 METİN)"

Dizin Oluştur

Bu VBA kodu satırı, Tabloyu Değiştirmek için DoCmd.RunSQL'i kullanır:

DoCmd.RunSQL ("CREATE INDEX " & IndexName & " ON " & TableName & "(" & ColumnName & ");")

Veya veritabanı nesnesinin .Execute yöntemiyle:

CurrentDb.Execute "CREATE INDEX " & IndexName & " ON " & TableName & "(" & ColumnName & ");"

Düşme Endeksi

Bu VBA kodu satırı, Tabloyu Değiştirmek için DoCmd.RunSQL'i kullanır:

DoCmd.RunSQL "Tablo1 ÜZERİNDEKİ İNDEKS KIMLIĞINI BIRAKIN;"

Veya veritabanı nesnesinin .Execute yöntemiyle:

CurrentDb.Execute "INDEX ID ON Table1;"

Veritabanı yarat

Bu kod bir veritabanı oluşturacaktır (SQL yok):

Access.DBEngine.CreateDatabase "c:\Temp\testDB1.accdb", DB_LANG_GENERAL

SQL Sorguları

Sorguyu Aç

Kaydedilmiş bir sorguyu açmak için DoCmd.OpenQuery'yi kullanabilirsiniz:

DoCmd.OpenQuery "qry_1", acViewNormal, acEdit

Sorguyu çalıştır

CurrentDB.Execute bir sorgu yürütür:

CurrentDb.Execute "qry_1", dbFailOnError

Sorguyu Excel'e Aktar

DoCmd.OutputTo, bir sorguyu Excel'e aktarır:

DoCmd.OutputTo acOutputQuery, "Query1", acFormatXLS, "c:\temp\ExportedQuery.xls"

Arkadaşlarınızla sayfasını paylaşan sitenin gelişimine yardımcı olacak

wave wave wave wave wave