繁体   English   中英

MS Access 2013 Dlookup字符串条件问题

[英]MS Access 2013 Dlookup String Criteria issue

看来这个问题应该有一个相当简单的解决方案。 尝试为ID运行dlookup时,使用RequestNum字符串时返回空值。 RequestNum只是一个自动编号。 RequestNum确实会写入自己打开的弹出表单。 另外,如果我用字段中的实际数字替换RequestNum,则会得到所需的返回结果。 我可以在网上找到的唯一帮助是,尽管我显然是这样做的,但大多数人并没有使用'" & stringhere & "' 有任何想法吗? 如果需要,我很乐意提供其他详细信息。 提前致谢!

Private Sub lst_AdminDate1_DblClick(Cancel As Integer)
    Dim IDx As String
    Dim RequestNum As String
    DoCmd.OpenForm "Administrative_LeaveCalendar_Detail"
    RequestNum = Me.lst_AdminDate1.Column(2)
    IDx = DLookup("[ID]", "TimeOffCalendar", "[RequestNumber] = '" & RequestNum & "'")
    [Forms]![Administrative_LeaveCalendar_Detail]![txtAdminDateDetail_RN] = RequestNum
    [Forms]![Administrative_LeaveCalendar_Detail]![txtAdminDateDetail_ID] = IDx
    End Sub

可能会使您感到困惑的是,即使值是一个数字,并且应该按原样使用,列表框也总是返回字符串。 同样,DLookup可能返回Null

因此,如果[RequestNumber]是一个Long(应该是):

Private Sub lst_AdminDate1_DblClick(Cancel As Integer)

    Dim IDx As Variant
    Dim RequestNum As String

    DoCmd.OpenForm "Administrative_LeaveCalendar_Detail"
    RequestNum = Me.lst_AdminDate1.Column(2)
    IDx = DLookup("[ID]", "TimeOffCalendar", "[RequestNumber] = " & RequestNum & "")
    [Forms]![Administrative_LeaveCalendar_Detail]![txtAdminDateDetail_RN] = RequestNum
    [Forms]![Administrative_LeaveCalendar_Detail]![txtAdminDateDetail_ID] = IDx

End Sub

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM