Cho hỏi cách thiết kế form trong Access, không khai báo nguồn của form trong Record Source mà vẫn có nguồn để sử dụng, có thể lấy 1 hoặc nhiều table để làm nguồn cho form.

" />
  • Thứ Ba, 06/04/2010 10:14 (GMT+7)

    Cách thiết kế form trong Access

    Câu hỏi :

    Cho hỏi cách thiết kế form trong Access, không khai báo nguồn của form trong Record Source mà vẫn có nguồn để sử dụng, có thể lấy 1 hoặc nhiều table để làm nguồn cho form.



    Trả lời :

    Khi dùng Microsoft Access để xử lý database Access (file *.mdb), bạn có thể lập trình trong các đối tượng của database như Form, Module, Report... bằng ngôn ngữ VBA và các đối tượng sẵn có. Cụ thể, trong các version từ 2003 trở về trước, khi lập trình trong 1 form Access, bạn có thể dùng đối tượng sẵn có tên là currentDB và các đối tượng DAO khác như DAO.Database, DAO.Recordset... để truy xuất database hiện hành. Thí dụ đoạn code VBA sau sẽ hiển thị số lượng record trong table "Customers" của database Access hiện hành:
     
     'khai báo các biến cần dùng
     Dim dbsNorthwind As DAO.Database
     Dim rstCustomers As DAO.Recordset
     Dim rcnt As Integer
     'thiết lập database cho biến dbsNorthwind
     Set dbsNorthwind = CurrentDb
     'thiết lập recordset theo yêu cầu cho biến rstCustomers
     Set rstCustomers = dbsNorthwind.OpenRecordset("Customers",dbOpenTable)
     rcnt = rstCustomers.RecordCount
     MsgBox "Số record trong bảng Customers là : " & rcnt
     //lặp xử lý từng record
     For i = 1 To rcnt
     //xử lý record i hiện hành
     ...
     //di chuyển đến record kế tiếp
     rstCustomers.MoveNext
     Next i
     Lưu ý rằng mặc dù trong các đối tượng của database Access, máy đã cung cấp sẵn các đối tượng DAO, nhưng nếu muốn, bạn vẫn có quyền dùng các đối tượng ADO (thư viện lập trình database cao cấp hơn cũng của Microsoft) để xử lý database Access. Đa số các đối tượng DAO và ADO đều có cùng tên và cùng chức năng nhưng chi tiết về các thuộc tính và các hàm chức năng thì có sự khác biệt.
     

    Chuyên mục: Lập trình