我对VBA和Access非常陌生,并且一直在疯狂地在互联网上寻找答案,但我似乎被困在这个问题上。试图在Access中进行设计时,我可能会在Excel电子表格逻辑中陷入困境。如何在Access中的不同表格中使用DLookup标准
我有两个表,REQUESTFORM和CLIENTDATABASE。申请表格包含来自收到的电子邮件的各种字段。我的意图是让ClientDatabase在新用户的电子邮件到达RequestForm表时将自动填充新的CLIENTTID,并将相应的CLIENTID添加到REQUESTFORM表中。 REQUESTFORM具有NEWFIRSTNAME和NEWLASTNAME的字段,而CLIENTDATABASE将具有字段FIRSTNAME和LASTNAME,以保持字段名称不同。我想CLIENTDATABASE有主键数据,所以我可以处理任何拼写错误。
使用DLOOKUP与excel的VLOOKUP类似,但是DLOOKUP似乎只使用同一个表中的条件。在Excel中,您可以根据需要“指向”其他表格。
所以,当我尝试这在查询:
NameMatch: DLookUp("[ClientID]","ClientDatabase","[FirstName]=[NewFirstName] And [LastName]=[NewLastName]")
它似乎并不奏效,因为它不承认NewFirstName,因为它不是在ClientDatabase,它是在RequestForm。
我已经尝试在VB中编写一个用户定义的函数,但我仍然遇到同样的问题,即使我将其降低到一个标准。如果必须将名字和姓氏合并为姓名字段,但我仍然可以使用一个标准。
Public Function NameMatch(ByVal pInput As String) As String
On Error Resume Next
NameMatch = DLookup("[ClientID]", "ClientDatabase", "[FirstName] = 'pInput'")
End Function
有没有一种方法来编写用户定义的函数来定义'pInput'为[NewFirstName]并成功地看到它?或者在查询中更好地写公式?我没有与UDF发生错误,只是一片空白。可能还有其他一些我错过的陷阱。任何帮助赞赏。
Stardance
这是非常有可能的......但在查询等? –
NameMatch = nz(DLookup(“[ClientID]”,“ClientDatabase”,“[FirstName] ='pInput'”),DLookup(“[ClientID]”,“RequestForm”,“[FirstName] ='pInput'”) ) – Xilmiki