2008-09-16 27 views
6

Tôi đã tạo biểu mẫu Access 2007 hiển thị, ví dụ: Sản phẩm từ bảng Sản phẩm. Một trong các trường trong bảng Sản phẩm là CategoryID tương ứng với danh mục gốc của sản phẩm này.Ràng buộc một hộp kết hợp biểu mẫu trong Access 2007

Trong biểu mẫu, CategoryID cần được thể hiện dưới dạng hộp tổ hợp được gắn với bảng Danh mục. Ý tưởng ở đây khá đơn giản: việc chọn một Danh mục mới sẽ cập nhật CategoryID trong bảng Sản phẩm.

Sự cố tôi đang gặp phải là việc chọn Danh mục mới sẽ cập nhật CategoryName của bảng Danh mục thay vì cập nhật CategoryID trong bảng Sản phẩm. Lý do cho điều này là có vẻ như hộp combo phải được ràng buộc chỉ với CategoryName của bảng Category. Điều gì xảy ra là nếu sản phẩm hiện tại có CategoryID là 12 là CategoryName "Chairs" trong bảng Category sau đó chọn một giá trị mới, hãy nói "Tables" (CategoryID 13) trong hộp kết hợp sẽ cập nhật CategoryID của 12 với CategoryName mới "Bảng" thay vì cập nhật bảng ProductID CategoryID thành 13.

Làm thế nào tôi có thể gắn bảng danh mục vào hộp combox sao cho trường dữ liệu (mà tôi muốn tồn tại trong Access) là CategoryName và datavaluefield là CategoryID và chỉ CategoryID của Sản phẩm sẽ được cập nhật khi mục combo box đã chọn được thay đổi?

Chỉnh sửa: Xem câu trả lời được chấp nhận bên dưới. Tôi cũng cần thay đổi số cột thành 2 và mọi thứ bắt đầu hoạt động hoàn hảo.

Trả lời

4

Bạn cần sử dụng cả hai giá trị trong truy vấn cho hộp tổ hợp.
ví dụ: SELECT CategoryId, CategoryName FROM CategoryTable ... Liên kết hộp kết hợp với cột nắm tay, CategoryId. Đặt chiều rộng cột cho hộp tổ hợp thành 0in (không cần giá trị thứ hai, vì vậy không có giới hạn). Điều này sẽ ẩn cột đầu tiên chứa giá trị đã chọn của bạn; tất cả những gì cho thấy nó giá trị mô tả, đó là tất cả những gì bạn muốn xem. Vì vậy, bây giờ khi bạn chọn một tùy chọn khác trong hộp tổ hợp, giá trị được trả về bởi hộp kết hợp sẽ là giá trị bị ràng buộc, CategoryId, không phải CategoryName.

Ah, vâng Alison, xin lỗi, tôi quên về việc thiết combobox columncount = 2.

0

Bạn cũng nên kiểm tra xem bảng danh mục của bạn có một khóa chính trên các lĩnh vực CategoryName. Bạn cấu hình ban đầu nên đã ném một lỗi hoặc thông báo nói rằng bản cập nhật sẽ vi phạm phím. Vì có vẻ như bạn có thể có 2 danh mục có cùng tên.

Các vấn đề liên quan