Access-VBA - Tham số trường tên

Vấn đề

Tôi đang gọi một chức năng sẽ tìm kiếm giá trị của một trường cụ thể để đăng ký chính xác. Để làm điều này, tôi chuyển một tham số đến văn phòng của tôi thay mặt cho bảng của tôi, ID hồ sơ và tên trường.

 Hàm FindLinkedString (Bảng ByVal dưới dạng Chuỗi, ID ByVal là Số nguyên, Trường ByVal dưới dạng Chuỗi) Như Chuỗi mặt trời Như cơ sở dữ liệu Đối với LinkedTableCount = 1 Để LinkedTable.RecordCount Nếu LinkedTable! ID = ID Sau đó FindLinkedString = bảng & "!" Trường & GoTo Fin_FindLinkedString Kết thúc nếu LinkedTable.MoveNext Tiếp theo Fin_FindLinkedString: LinkedTable. Đóng mydb2. 

Vấn đề là FindLinkedString = bảng & "!" & Field, rõ ràng là trò chơi công bằng vì nó sẽ không tìm thấy giá trị trong db, nó lưu chuỗi bằng cách chuyển "Bảng" và "Trường" theo các tham số (ví dụ: "đánh giá" Tên "sau đó tôi muốn nó xuất hiện" Smith ")

Dung dịch

Bạn có thể sử dụng điều này:

 ... LinkedTable.MoveFirst Trong khi không được LinkedTable.EOF Nếu LinkedTable.Fields ("ID") = ID thì FindLinkedString = LinkedTable.Fields ("Name") LinkedTable. Đóng mydb2. Đóng bộ LinKedTable = Không có gì Đặt mydb2 = Không có gì .MoveNext Kết thúc nếu '... 

Nhưng nó có thể đơn giản hơn:

 ... Đặt LinkedTable = mydb2.OpenRecordset ("CHỌN Tên TỪ" & Bảng & "WHERE ID =" & ID) FindLinkedString = LinkedTable.Fields (0) ... 
Bài TrướC TiếP Theo Bài ViếT

Lên Trên LờI Khuyên