III. GIỚI THIỆU VỀ ACCESS BASIC 1 Giới thiệu chung :
2. Truy nhập dữ liệu thông qua DAO
Để thêm vào các đối tượng xác định trong Access, động lực CSDL trong Microsoft (Microsoft Jet Engine) xác định thêm các đối tượng để
thực hiện các tác vụ trên cơ sở dữ liệu như bảng, truy vấn, ... Các đối tượng này được xác định bởi động lực CSDL và được gọi là các đối tượng truy nhập dữ liệu. (DAO).
a. Đối tượng (Object) và tập hợp đối tượng (Collection) trong DAO
+ Các kiểu đối tượng quan trọng thường dùng trong Access Basic là: DBEngine
Workspace Database Form Report
Tabledef(làm việc đối với cấu trúc của bảng) Querydef(làm việc đối với cấu trúc của query ) RecortSet
Control (Ô điều khiển của các form,report) Field(các trường của bảng hoặc query) Index(các chỉ mục ,chỉ số của bảng)
+ Tập hợp các đối tượng (Object) của DAO dựa trên ý tưởng một kiểu đối tượng có nhiều đối tượng cụ thể khác. Ví dụ:Đối tượng Database chứa các form, Report. Mỗi form, Report lại chứa các TextBox, Combobox, CommandButton...
+ Biến đối tượng :là biến biểu thị một đối tượng nó được khai báo bằng cách dùng tên các kiểu đối tượng được nêu ở trên.
+ Tập hợp các đối tượng(Collection): là tập hợp các đối tượng cùng loại..Để biểu thị tên tập hợp, ta chỉ cần thêm chữ S vào cuối tên kiểu đối tượng nêu ở trên (trừ đối tượng DBEngine).
+ Cấu trúc của đối tượng của Access là mô hình phân cấp. Các đối tượng cha chứa các tuyển tập con của nó.
Mô hình phân cấp.
b. Tham chiếu đến các đối tượng: Có 3 cách
+ Indentifier![Objectname] DBEngine Workspaces Databases Querydefs Tabledes
Fields Indexes Fields Paramete
r Fields
Fields
Recordset s
+ Indentifier(“Objectname”) + Indentifier(Indext)
Trong đó: Indentifier có thể là tuyển tập đối tượng chứa đối tượng có tên là Objectname. Indext là số chỉ mục (stt) của đối tượng trong tuyển tập đối tượng (Collection).
Ví dụ: Form![frmnhansu] Form(“frmnhansu”) Form(0)
* Làm việc với các thuộc tính (Property) của đối tượng: để mô tả các tính chất của đối tượng.
Ví dụ : Để biểu thị thuộc tính Visible của mẫu biểu Frmchucvu ta có thể dùng các cách sau: Form![frmchucvu].Visible Form(“frmchucvu”)Visible 3. Thủ tục và hàm a. Thủ tục: * Cú pháp:
[Static][Private] Sub Tên_thủ_tục [Danh sách đối] [Các câu lệnh]
[Exit Sub] [Các câu lệnh] End Sub
+ Khai báo Static: Làm cho tất cả các biến khai báo trong thân của thủ tục/hàm trở thành static (tĩnh). Giá trị các biến này vẫn còn được giữ khi chương trình thoát khỏi thủ tục/hàm.
Chú ý : Thuộc tính static không có tác dụng đối với các biến khai báo bên ngoài hàm/thủ tục.
+ Khai báo Private: Quy định phạm vi sử dụng của thủ tục/hàm Private chỉ có thể được gọi từ các thủ tục hay hàm khác trong cùng đơn thể.
+ Danh sách đối: Được khai báo như sau: [By Va1]Tên đối[()][As type]
Trong đó:
- Nếu không dùng By va1 thì đối sẽ được truyền theo tham chiếu, phương án này có thể dùng với đối kiểu bất kỳ.
- Nếu dùng By va1 thì đối sẽ được truyền theo giá trị (phương án này không dùng cho các đối có kiểu đối tượng hoặc kiểu tự tạo).
- Dùng[()] khi khai báo mảng, các biến trung gian có thể được khai báo trong thân thủ tục và ở bất kỳ vị trí nào.
- As type : Dùng để khai báo kiểu cho một đối. * Cách dùng thủ tục:
Một thủ tục có thể được sử dụng trong một hàm/thủ tục khác bằng một lời gọi có dạng sau:
Tên_thủ_tục[(Danh sách các tham số)]
b. Hàm:
* Cú pháp:
[Static][Private]Function Tên_hàm [(Danh sách đối)][As Type] [Các câu lệnh] [Tên_hàm=Biểu_thức] [Exit Function] [Các câu lệnh] [Tên_hàm=Biểu_thức] End Function
Giải thích các thành phần trong định nghĩa hàm tương tự như đối với thủ tục.
* Lời gọi hàm:
Một hàm có thể đuực sử dụng trong một hàm/ thủ tục khác bằng một lời gọi có dạng sau:
Tên_hàm(Danh sách các tham số)
c. Thủ tục sử lý sự kiện:
+ Sự kiện của Form: Sub Form_Tên_sự_kiện() ... End Sub
+ Sự kiện của Report: Sub Report_Tên_sự_kiện() ... End Sub
+ Sự kiện của ô điều khiển:
Sub Tên ô điều khiển_Tên_sự_kiện() ...
End Sub
Chú ý: Tên của thủ tục sử lý sự kiện do hệ thồn tự xác định, ta không cần quan tâm.