phiếu và gửi tiền vào tiết kiệm phải thực biện theo thứ tự từ việc ghi sổ đến bảng quyết toán. Nếu có một bộ phận bị lỗi, mã chương trình của ngân hàng sẽ phục hỗi lại hai bộ phận trên. Các giao tác cũng có thé tang tốc độ xử lý cơ sở dữ liệu bằng cách ghỉ vào đĩa theo nhóm. Bạn có thế lồng các giao tác vào nhau đến năm cấp.
Một vài thuộc tính và phương pháp có giá trị tùy thuộc vào kiểu không gian làm việc được sử dụng. Tuy nhiên, không có gì quan trọng trên không gian làm việc khi bạn sử dụng vì DBEngine chứa các tap hap Errors va Workspaces.
Tập Hợp Errors
Bạn sử dụng tập hợp #rrors để xử lý các lỗi truy cập dữ liệu.
Tập Errors chứa một hoặc nhiều số hiệu lỗi và các mô tả từ câu lệnh cuối cùng bị lỗi. Các lỗi đủ loại từ một trục trặc là phổ biến đối với nguên đữ liệu ODBC bởi vì các lớp ODBC khác nhau có thể báo một lỗi cho cùng một sai hỏng như nguồn đữ liệu từ xa không thể sẵn sàng để sử dụng.
Tập hop Errors, giống như các tập hợp DAO khác là zero- based (dua vào số khụng). Thuộc tớnh Couứ biểu hiện số lỗi trong một tập hợp và các lỗi riêng có số mục tit 0 dén Count -1. Phan tử cuối cùng trong tập hợp Errors tuong ứng với đối tugng Err cua Microsoft Visual Basic for Applications (VBA). Khi bạn gỡ rối các ứng dụng, bạn phải tìm cách liệt kê tập hợp #zrrors có ích nhằm
đơn giản việc tìm kiếm nguồn gốc gây lỗi hoặc giải pháp khắc phục.
Tap Hop Các Không Gian Làm Việc
Bạn sử dụng các thuộc tính và phương pháp của tập hợp Workspaces dé tham chiéu dén các tác vụ của không gian làm việc riéng lé. Bai vi tap hop Workspaces luc nao ciing cé hiéu luc, Access có thể duy trì đồng thời các tác vụ phức tạp và trình ứng dụng của bạn có thể mở và quản lý bất kỳ sự phối hợp nào của không gian làm việc Jet va ODBCDirect. Chúng có thể vẫn tổn tại trong một
91
tác vụ đây đủ trong khi các tác vụ này không nhất thiết ở xa tác vụ mở máy (logon session) Bạn có thể sử dụng tham số Name của phương pháp CreatWorkspace dé tham chiếu duy nhất các không gian làm việc riêng trong một tập hợp dùng của một trong những định dạng sau:
m DBEngine.Workspaces(0)
= DBEngine.Workspaces(“Name”) mu DBEngine.Workspaces![Name]
Tất cả các đối tượng DAO có cú pháp tham chiếu tương tự nhau cho các kiểu mẫu này. Hai kiểu đầu tiên được liệt kê ở trên thích hợp với các qui ước ADƠ. Bạn phải làm theo một trong những kiểu trên vào lúc có thể nhằm nâng cao kỹ năng của mình khi bạn bắt đầu viết chương trình trong ADO.
Các đối tượng Workspace chia sẻ các phương pháp quan trọng với đối tượng DBEngine, như CredteDefabase, OpenDatabase, va BeginTrans. Các phương pháp khac nhu CreateUser va CreateGroup là duy nhất cho đối tugng Workspace. Day la hai phương pháp giúp quản lý độ an toàn ở mức người sử dụng trong mt không gian làm việc.
Tap Hgp Databases
Trong bất kỳ không gian làm việc nào, bằng cách lập trình bạn có thể mở các cơ sở dữ liệu phức tạp. Việc sử dung DAO voi VBA để nghị một giao diện người dùng thuận lợi khác để mở một cơ sở dữ liệu đơn tại một thời điểm. Bạn có thể dùng tên biến để tham chiếu các đối tượng cơ sở dữ liệu nhằm tăng tốc độ truy cập.
Điều này gần giống như việc tăng tốc độ cho nhiều đối tượng DAO.
Thuộc tính Nœme của một cơ sở dữ liệu cá biệt trong không gian làm việc Jet là đường dẫn đến file cơ sở dữ liệu. Bạn tham chiếu đến cơ sở dữ liệu cho để án hiện hành trong chương trình VBA của bạn với hàm CurrentDb. Access cũng hỗ trợ cú pháp có
Chương 2: CÁC MÔ HÌNH TRUY CẬP DU LIEU
sẵn cia DBEngine (0), (0) để tham chiếu đến cơ sở dữ liệu hiện
hành. Cú pháp Cuzren£Db tạo ra trường hợp khác về cơ sở dữ liệu của để án hiện hành, nhưng cú pháp DBEngine có liên quan đến việc mở bản sao của cơ sở dữ liệu hiện hành. Bạn có thể mở các đối tượng cơ sở dữ liệu vào các nguồn dữ liệu nondJet (không có đJet), như cơ sở dữ liệu [ISAM (ví dụ, dBase hoặc Microsoft FoxPro). Trong trường hợp này cũng có thể sử dụng nguồn dữ liệu ODBC, nói chung bạn có thể thực hiện tốt hơn bằng việc sử dụng không gian làm việc ODBCDirect (sẽ trình bày ở phần dưới).
Recordsetsels
Một đối tượng Recordset đại điện cho các record trong một bảng hoặc kết quả từ một row-returning query (query trả về theo hàng). Bạn tạo các recordset mới bằng phương pháp OpenRecordset.
Bạn có thể gọi phương pháp này từ vài đối tượng, gồm các đối tượng cơ sở dữ liệu và các đối tượng TabieDeƒ để tạo một recordset.
Các đối tượng khác có phương pháp OpenRecordset gồm các đối tượng QueryDeƒ và ngay cả các recordset khác. Phương pháp này thêm một recordset mới vào tập hợp Recordset. Ban cé thé tao năm kiểu recordset như bảng sau.
CAc B61 TUGNG RECORDSET
Kiéu Mô tả
Table Kiểu này tham chiếu đến một record trong một bảng, giống như bạn tạo ra bằng cách dùng phương pháp CreatTobleDeƒ. Nó luôn luôn tham chiếu đến bảng Jet đơn. Bạn cú thộ cập nhật cỏc giỏ trị của fủield này như thêm và xóa các record. Kiểu này không phù hợp với cursor ODBC.
Dynaset Kiểu này là một tập hợp động các record có thể là kết quả từ một hoặc nhiều bảng. Các field phải được cập nhật, bạn có thể thêm, xóa và chỉnh sửa các record. Bạn sử dụr.g thuộc tính DœfœUpdatabie của field để xác định
93
khi nào một field được cập nhật. Trong cơ sở dữ liệu nhiều người sử dụng, bạn có thể xem các thay đổi đã chọn bởi những người sử dụng khác. Kiểu tập hợp các record này phù hợp với ODBC keyset cursor (con nháy do phím cai cla ODBC).
Snapshot Với kiểu này, bạn có thể kiểm tra các record dua vào một hoặc nhiều báng, nhưng bạn không thể thay đổi các record cơ bản. Một khi bạn đã nạp snapshot vào bộ nhớ, nó không biểu thị bất kỳ record nào đã chỉnh sửa quá lâu vào các bảng cơ bản. Kiểu recordset này phù hợp với cdc cursor tinh ODBC.
Forward-only Kiểu này tương tự như recordset kiểu snapshot, ngoại trừ việc bạn chỉ có thể cuốn về phía trước. Kiểu này phù hợp với ODDC forward-only cursor (con nháy chỉ cuốn về phía trước của ODBC).
Dynamic Kiểu này đại diện cho một kết quả query dựa vào một hoặc nhiều bảng cơ bản. Người dùng có thể cập nhật
recordset bằng cách thêm, xóa, và chỉnh sửa các record.
Kiểu này cũng trình bày sự thay đổi bởi các người sử dung khác trong môi trường nhiều người dùng. Nó chỉ có thể sử dụng được trong không gian làm việc ODBCDirect và phù hợp với ODBC dynamic cursor (con nháy động của ODBC).
Phương Pháp OpenRecordse†
Phương pháp OpenRecordset đòi hỏi một đối số nguồn để định rõ nguồn gốc đưa tới recordset. Khi được để cập đến chỗ nào, ở chỗ đó là đặc trưng cho một tên bảng, tên query, hoặc câu lệnh SQL.
Bạn cũng có thể xác định rõ kiểu của recordset; nếu bạn không xác định rõ, DAO trả về kiểu table, dynaset hoặc forward-only, tùy thuộc vào nguồn gốc.
Một tham số tùy chọn cho phép bạn định rõ một vài đặc tính của recordset, như việc ngăn cấm người dùng đọc hoặc ghi vào recordset. Một đối số cuối cùng cho phép bạn thiết lập thuộc tính