PRB: ADO: lỗi biên dịch: kiểu không được xác định do người dùng xác định


Triệu chứng


Khi bạn biên soạn dự án ADO của mình, bạn sẽ nhận được lỗi sau đây:
Lỗi biên dịch: kiểu không được xác định người dùng không được xác định
Điều này có thể xảy ra trong một đối tượng kết nối hoặc lệnh.

Nguyên nhân


Có thể bạn đã tham chiếu một trong các thư viện sau đây thay vì thư viện kiểu dữ liệu ActiveX (ADODB) của Microsoft:
  • Thư viện kiểu dữ liệu ActiveX của Microsoft (ADOR).-hoặc-
  • Thư viện kiểu dữ liệu ActiveX (đa chiều) (ADOMD) của Microsoft.

Giải pháp


Loại bỏ tham chiếu thư viện kiểu không chính xác khỏi dự án của bạn và thêm tham chiếu vào thư viện kiểu chính xác.

Trạng thái


Hành vi này là do thiết kế.

Thông tin Bổ sung


Các bước để tái tạo hành vi

  1. Tạo một dự án mới và thêm nút lệnh (command1) vào biểu mẫu.
  2. Thêm một tham chiếu vào đối tượng dữ liệu ActiveX của Microsoft trong thư viện.
  3. Thêm mã sau vào biểu mẫu:
       Private Sub Command1_Click()   Dim cn As ADODB.Connection   End Sub
  4. Chạy dự án và bấm vào nút lệnh. Lỗi xuất hiện.
  5. Loại bỏ tham chiếu và thêm tham chiếu vào thư viện đối tượng dữ liệu Microsoft ActiveX.
  6. Bấm vào nút lệnh. Lỗi sẽ không xuất hiện.
Lưu ý:
  • Người dùng Microsoft Access sẽ phải sử dụng ADODB. Kết nối để tránh nhầm lẫn với đối tượng kết nối DAO.
  • Nếu tính năng IntelliType được bật, bạn nên nhận thấy rằng nó không hiển thị kết nối với một đối tượng hợp lệ với thư viện kiểu ADOR nhưng có chứa thư viện kiểu ADODB. Đây là một dấu hiệu tốt mà bạn không có thư viện kiểu chính xác được tham chiếu.
  • Lỗi này cũng có thể xảy ra khi tham chiếu đối tượng trong các thư viện kiểu khác không được tham chiếu.