我在访问DLookup功能标准中使用“ - ”(短划线)时遇到问题。
我有两个名为txt_PN
和txt_PO_Number
的未绑定文本框。当用户单击按钮时,我想在数据库中搜索同一记录中存在部件号(txt_PN)和PO号(txt_PO_number)的记录。
我遇到的问题是,如果用户输入带有“ - ”的部件号,则DLookup功能找不到记录......即使存在记录。 DLookup完美适用于没有破折号的零件号。
我使用的代码如下:
PartCheck = DLookup("Part_Number", "Tbl 01 RDM DB", "Part_Number = '" & Me.txt_PN & "'")
POCheck = DLookup("PO_Number", "Tbl 01 RDM DB", "Part_Number = '" & Me.txt_PN & "'")
如果有人能帮助我容纳破折号的使用,我们将非常感激。
P.S。 “ - ”不一定出现在从一个部件号到下一个部件号的相同位置。
答案 0 :(得分:0)
您可以尝试执行查询并检查是否有任何记录。
从this forum修改:
Dim rsPNCheck As ADODB.Recordset
Dim strSQL As String
strSQL = "SELECT * FROM [Tbl 01 RDM DB] WHERE Part_Number = '" & Me.txt_PN & "' AND PO_Number = '" & Me.txt_PO & "';"
Set rsPNCheck = CurrentProject.Connection.Execute(strSQL)
If Not rsPNCheck.EOF Then
' Notify user record exists
Else
' send email
End If
Set rsPNCheck = Nothing
答案 1 :(得分:0)
好的,我解决了这个问题......有点儿。我不确定破折号问题是如何解决的,但是使用代码:
If Not IsNull(DLookup("PO_Number", "Tbl 01 RDM DB", "PO_Number = '" & Me.txt_PO_Number & "' And Part_Number = '" & Me.txt_PN & "'")) Then
[rest of code]
End If
所有零件编号都被识别,程序按我想要的方式工作。谢谢大家的建议和帮助。