III. Giới thiệu về Access Basic.
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
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] + Indentifier(“Objectname”) DBEngine Workspaces Databases Querydefs Tabledes
Fields Indexes Fields Paramete
r Fields
Fields
Recordset s
+ 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:
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.