Đã có rất nhiều bài viết về quản lý tập hợp bản ghi (recordset) với đối tượng form (biểu mẫu), control (điều khiển) và report (báo cáo) trong cơ sở dữ liệu Microsoft Access. | Quản lý recordset trong Access Data Project Nguồn Đã có rất nhiều bài viết về quản lý tập hợp bản ghi recordset với đối tượng form biểu mẫu control điều khiển và report báo cáo trong cơ sở dữ liệu Microsoft Access. Nhưng gần đây tôi buộc phải phát triển một ứng dụng với khuynh hướng khá mới đòi hỏi một số thao tác sáng tạo trên recordset. Các yêu cầu để thực hiện 1. Chương trình phải là một ADP Access Data Project không phải là MDB. 2. Dự án có thể tiếp tục kết nối sang cơ sở dữ liệu config của SQL Server. 3. Tất cả dữ liệu phải được lưu trữ trong các cơ sở dữ liệu client SQL Server. 4. Các form phải kết nối tới cơ sở dữ liệu client chính xác trong thời gian chạy. Bạn có thực hiện điều này Tất cả cơ sở dữ liệu CSDL được đặt trên một SQL Server đơn nhưng ứng dụng có thể cần lấy dữ liệu từ bất kỳ một nguồn trong số đó. Ở một số trường hợp người dùng yêu cầu trích lấy dữ liệu từ một CSDL cụ thể. Họ có thể khởi phát hoạt động sử dụng CSDL riêng và ứng dụng phải được trỏ động tới nơi lưu trữ dữ liệu chính xác. Ý nghĩ đầu tiên của tôi là phải thay đổi thuộc tính kết nối của ứng dụng ADP mỗi khi người dùng chọn một CSDL khác nhau. Nhưng điều này không đơn giản mà cũng chẳng dễ dàng gì. Thay đổi kết nối trong thời gian chạy cũng giống như bắt con ngựa đua phải quay ngược lại giữa đường đua. Khi một thuộc tính kết nối của ADP bị đóng tất cả form đều bị huỷ. Giải pháp cuối cùng rất dễ chịu và có thể dùng lại được. Trong một nutsell nó gồm những phần sau Kết nối ADP được gắn với CSDL config. CSDL config quản lý đăng nhập người dùng. Config bao gồm một danh sách CSDL client. Nhiệm vụ cho tất cả client nằm trong CSDL Config. ADP có hai thủ tục đơn giản hoá chuyển đổi. Thủ tục con LoadDbsConnectString ClientID . Hàm GetRecordset SQL As Recordset. Dữ liệu Form và Control được load qua thuộc tính Recordset. Thuộc tính phải để trống. Thuộc tính phải được thiết lập ở mã VBA. Phải dùng toán tử Set. Bảng bảng ảo view hoặc thủ tục lưu .