Truy cập ví dụ SQL VBA

Hướng dẫn này chứa các ví dụ về cách sử dụng SQL với VBA Access. Như bạn sẽ thấy bên dưới, để chạy các truy vấn SQL trong Access với VBA, bạn có thể sử dụng DoCmd.RunSQL hoặc CurrentDb.Execute các phương pháp.

Lựa chọn SQL

Ví dụ này sẽ sử dụng câu lệnh SQL Select để mở một tập bản ghi:

Dim rs As Recordset Set rs = CurrentDb.OpenRecordset ("select * from Table1 where num = 0", dbOpenDynaset)

Bảng cập nhật SQL

Dòng mã VBA này sử dụng phương thức DoCmd.RunSQL để cập nhật Bảng:

DoCmd.RunSQL ("CẬP NHẬT table1 SET num = 0 trong đó num = 999")

Hoặc bạn có thể sử dụng phương thức .Execute của đối tượng cơ sở dữ liệu:

CurrentDb.Execute "UPDATE table1 SET num = 0 where num = 999"

Bảng thay thế SQL

Dòng mã VBA này sử dụng DoCmd.RunSQL để thay đổi bảng:

DoCmd.RunSQL ("ALTER TABLE Table3 ADD COLUMN Lương tiền")

Hoặc với phương thức .Execute của đối tượng cơ sở dữ liệu:

CurrentDb.Execute "ALTER TABLE Table3 ADD COLUMN Lương tiền"

Bảng thả

Dòng mã VBA này sử dụng DoCmd.RunSQL để thay đổi bảng:

DoCmd.RunSQL ("DROP Table Table1")

Hoặc với phương thức .Execute của đối tượng cơ sở dữ liệu:

CurrentDb.Execute "DROP Table Table1"

SQL Delete

Mã này sử dụng DoCmd.RunSQL để xóa các bản ghi khỏi bảng:

DoCmd.RunSQL ("XÓA TỪ table1 trong đó num = 999")

Hoặc với phương thức .Execute của đối tượng cơ sở dữ liệu:

CurrentDb.Execute "XÓA TỪ table1 trong đó num = 999"

Chèn SQL vào

Phiên bản DoCmd.RunSQL này chèn các bản ghi vào một bảng:

DoCmd.RunSQL ("INSERT INTO Table1 (LastName, dob, num) VALUES ('L1', # 01/01/2001 #, 78)")

Hoặc với phương thức .Execute của đối tượng cơ sở dữ liệu:

CurrentDb.Execute "INSERT INTO Table1 (LastName, dob, num) VALUES ('L1', # 01/01/2001 #, 78)"

SQL Tạo bảng

Mã này sẽ tạo một Bảng bằng SQL:

CurrentDb.Execute "CREATE TABLE Table1 (KeyID COUNTER CONSTRAINT PrimaryKey PRIMARY KEY, Field1 TEXT, Field2 TEXT)"

Hoặc với phương thức .Execute của đối tượng cơ sở dữ liệu:

CurrentDb.Execute "CREATE TABLE Table1 (KeyID COUNTER CONSTRAINT PrimaryKey PRIMARY KEY, Field1 TEXT, Field2 TEXT)"

Tạo chỉ mục

Dòng mã VBA này sử dụng DoCmd.RunSQL để thay đổi bảng:

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

Hoặc với phương thức .Execute của đối tượng cơ sở dữ liệu:

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

Chỉ số thả

Dòng mã VBA này sử dụng DoCmd.RunSQL để thay đổi bảng:

DoCmd.RunSQL "DROP INDEX ID TRÊN Table1;"

Hoặc với phương thức .Execute của đối tượng cơ sở dữ liệu:

CurrentDb.Execute "DROP INDEX ID ON Table1;"

Tạo nên cơ sở dữ liệu

Mã này sẽ tạo một cơ sở dữ liệu (không có SQL):

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

Truy vấn SQL

Mở truy vấn

Bạn có thể sử dụng DoCmd.OpenQuery để mở một truy vấn đã lưu:

DoCmd.OpenQuery "qry_1", acViewNormal, acEdit

Thực hiện kiểm tra

CurrentDB.Execute sẽ thực hiện một truy vấn:

CurrentDb.Execute "qry_1", dbFailOnError

Xuất truy vấn sang Excel

DoCmd.OutputTo sẽ xuất một truy vấn sang Excel:

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

Bạn sẽ giúp sự phát triển của trang web, chia sẻ trang web với bạn bè

wave wave wave wave wave