首页 文章

使用一个组合框控件访问2007多种数据类型?

提问于
浏览
1

我需要在Access 2007表单上添加基本记录搜索功能 . 我设置了两个ComboBox,第一个提供三种不同的搜索选项:按引用搜索,按日期或按员工名称搜索 . 然后,此ComboBox上的AfterUpdate事件将设置第二个ComboBox的RowSource,以向用户显示任何可用的引用,日期或人员名称,以允许他们选择他们想要的那个 . 然后,“开始”按钮将打开包含与其条件匹配的记录的关联表单 .

一开始一切顺利,工作正常,但随后出现了一个错误 . 如果我选择通过引用(长)或名称(字符串)进行搜索,它可以正常工作,但如果我选择按日期搜索,则可用日期在第二个组合中正确显示,当我尝试选择一个时出现错误:输入的值对此字段无效 . 这是因为控件应该只用于单一数据类型,而我尝试在不同时间使用三种不同的控件会让人感到困惑吗?我没有在控件的属性中设置任何格式 .

Private Sub btnGo_Click()
    'go clicked so find request being searched for and open form at that request(s)
    If Not IsNull(Me.cboSearchOption) And Not IsNull(Me.cboSearchFor) Then
        'search variables entered so go to specified request
        Select Case [gblOption]
            Case "Reference"
                    DoCmd.OpenForm "frmRequestForInformation", , , "reference = " & Me.cboSearchFor.Value
            Case "Request date"
                    DoCmd.OpenForm "frmRequestForInformation", , , "date_request_received = #" & Me.cboSearchFor.Value  & "#"
            Case "Staff"
                    DoCmd.OpenForm "frmRequestForInformation", , , "signed_by = '" & Me.cboSearchFor.Value & "'"
        End Select
    Else
        MsgBox "Please ensure you have entered search values in both fields", vbOKOnly, "Unable to search"
    End If

结束子

注意:gblOption包含cboSearchOption的值,并在其AfterUpdate事件和cboSearchFor的RowSource上设置 .

1 回答

  • 0

    这听起来像第二个组合框有一个控制源 . Access正在尝试将该源设置为Date并且不满意 . 您不应该需要该组合框的控件源 .

    我已经重载了超过那个没有太多问题的组合框,其余的代码看起来还不错 .

相关问题