【发布时间】:2014-04-02 23:55:01
【问题描述】:
我在表单上有一个组合框,用于搜索基于[WorkDate] 的记录,它工作正常。我遇到的问题是组合框有 3 列,但它只根据第一列进行查找。组合框下拉列表中的列是WorkDate | WorkType | Comment
这是我的代码:
`Private Sub ctlSearch_AfterUpdate()
On Error GoTo myError
Dim rst As DAO.Recordset
Set rst = Me.RecordsetClone
rst.FindFirst "[WorkDate] = " & "#" & Format(Me.ctlSearch.Column(0), "yyyy/mm/dd") & "#" And "[WorkType] = '" & Me.ctlSearch.Column(1) & "'"
Me.Bookmark = rst.Bookmark
leave:
Me!ctlSearch = Null
If Not rst Is Nothing Then Set rst = Nothing
Exit Sub
myError:
MsgBox "Record Not Found"
Resume leave
End Sub`
我已将问题缩小到代码中的这一行:
rst.FindFirst "[WorkDate] = " & "#" & Format(Me.ctlSearch.Column(0), "yyyy/mm/dd") & "#" And "[WorkType] = '" & Me.ctlSearch.Column(1) & "'"
每当我用
替换上面的代码行时rst.FindFirst "[WorkDate] = " & "#" & Format(Me.ctlSearch.Column(0), "yyyy/mm/dd") & "#"
或
rst.FindFirst "[WorkType] = '" & Me.ctlSearch.Column(1) & "'"
它完美地工作,但对于我的生活,我无法让查找一起工作。我花了几天的时间试图让它发挥作用。任何帮助将不胜感激。
【问题讨论】:
-
为了帮助解决问题,第一步应该是确保您的搜索字符串是正确的。看这个例子:stackoverflow.com/questions/18019125/… 简短的版本是 Debug.Print "[WorkDate] = " & "#" & Format(Me.ctlSearch.Column(0), "yyyy/mm/dd") & "#" And " [WorkType] = '" & Me.ctlSearch.Column(1) & "'" 你的搜索字符串是什么样的?