【发布时间】:2020-08-18 11:27:21
【问题描述】:
第一次在这里问,因为我很难过!
我有一个带有 2 个组合框的 MS Access 表单: 第一个组合框 (cboPub) 选择一个发布者,然后过滤第二个组合框 (cboTitle),这可以正常工作,但是拉出的记录是第一个记录,而不是符合条件的记录。
代码如下:
Private Sub cboPub_AfterUpdate()
cboTitle = Null
cboTitle.Requery
End Sub
Sub cboTitle_AfterUpdate()
' Find the record that matches the control.
Me.RecordsetClone.FindFirst "[Supplier] = """ & Me![cboTitle] & """"
Me.Bookmark = Me.RecordsetClone.Bookmark
End Sub
我怀疑是因为这里的行:
Me.RecordsetClone.FindFirst "[Supplier] = """ & Me![cboTitle] & """"
但我不知道要更改什么才能让它选择正确的记录。
【问题讨论】:
-
cboTitle 的 RowSource 是什么?你有没有调试过 - cboTitle 在代码中显示什么值?在引用控件时尝试使用点而不是 bang (!)。
-
看看.FindFirst,看看如何处理没有找到的东西,用
Debug.Print Me.[cboTitle].Value检查combos returnval 我假设框没有绑定到显示的值(显示记录源)! -
cboTitle 的Row Source 为:SELECT DISTINCTROW [Raw Material Master].PubID, [Raw Material Master].[Raw Material], [Raw Material Master].[CAS Number], [Raw Material Master ].[PRISM CODE] FROM [Raw Material Master] INNER JOIN [Raw Material Details] ON [Raw Material Master].PubID = [Raw Material Details].[Raw Material] ORDER BY [Raw Material Master].[Raw Material] ;