Tạo bảng mới: dùng phương thức của đối tượng DataBase.
Tạo trường mới: dùng phương thức của đối tượng kiểu TableDef.
Thêm trường vào bảng: dùng phương thức của tập hợp đối tượng Fields.
Thêm bảng vào CSDL: dùng phương thức của tập hợp đối tượng TableDefs.
Ví dụ 1: thủ tục tạo bảng với tên bảng và số cột cho trước
Public Sub CreateTable(name As String, quantityOfColum As Integer) Dim db As Database, tb As TableDef, fd As Field
Dim i As Integer, fieldName As String Set db = CurrentDb
Set tb = db.CreateTableDef(name) For i = 1 To quantityOfColum fieldName = “Colum” & i
Set fd = tb.CreateField(fieldName, dbInteger) tb.Fields.Append fd
Next
db.TableDefs.Append tb End Sub
Bài giảng Lập trình trong Access
Ví dụ 2: tạo một bảng mới tên là [Ho so] gồm trường [Ho ten] kiểu text, trường [Nam sinh] kiểu Integer.
Sub TaoBang()
Dim DB As Database, TB As TableDef, FD As Field 'DB gắn với CSDL hiện hành
Set DB = DBEngine.Workspaces(0).Databases(0) ' Tạo bảng [Ho so] và gắn vào biến TB
Set TB = DB.CreateTableDef("Ho so") ' Tạo trường [Ho ten] kiểu Text, rộng 25 byte Set FD = TB.CreateField("Ho ten", dbText, 25) ' Bổ sung vào tuyển tập các trường của bảng TB.Fields.Append FD
' Tạo trường [Nam sinh] kiểu Integer
Set FD = TB.CreateField("Nam sinh", dbInteger) ' Bổ sung vào tuyển tập các trường của bảng TB.Fields.Append FD
' Bổ sung bảng vào tuyển tập các bảng của CSDL hiện hành DB.TableDefs.Append TB
End Sub
e. Tập hợp đối tượng QueryDefs. Đối tượng kiểu QueryDef
Tập hợp đối tượng QueryDefs
9 Thuộc tính:
.Count: số lượng truy vấn trong CSDL.
9 Phương thức:
.Append: thêm truy vấn mới vào CSDL.
<Tập hợp>.Append <tên biến QueryDef> .Delete: xóa một truy vấn khỏi CSDL
<Tập hợp>.Delete “<tên truy vấn>” (có thể là thuộc tính Name)
Đối tượng kiểu QueryDef
9 Thuộc tính:
.Name: Tên truy vấn.
.SQL: Văn bản SQL của truy vấn.
9 Phương thức:
Bài giảng Lập trình trong Access
.OpenRecordset: tạo Recordset, giống phương thức của đối tượng Database, không có tham số nguồn.
Ví dụ:Tạo một truy vấn [DSHS Gioi] gồm các học sinh có điểm trung bình >= 8:
Sub hsGioi() Dim DB As Database Dim QR As QueryDef Dim st As String Set DB = CurrentDB Set QR = DB.CreateQueryDef() QR.Name = "DSHS Gioi"
st = "Select distinctrow DSHS.* from DSHS" st = st + "Where [Diem TB]>=8" QR.SQL = st DB.QueryDefs.Append QR ' Mở truy vấn để xem DoCmd.OpenQuery "DSHS Gioi" End Sub