如何在Access DLookup功能标准中使用“ - ”

时间:2013-12-17 18:48:07

标签: vba ms-access

我在访问DLookup功能标准中使用“ - ”(短划线)时遇到问题。

我有两个名为txt_PNtxt_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。 “ - ”不一定出现在从一个部件号到下一个部件号的相同位置。

2 个答案:

答案 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

所有零件编号都被识别,程序按我想要的方式工作。谢谢大家的建议和帮助。