运行时错误3075--VBA访问-缺少运算符

运行时错误3075--VBA访问-缺少运算符,vba,ms-access,Vba,Ms Access,失踪的接线员在哪里 代码: If Nz(DLookup("Email", "Employees", "Email=" & Me![Email]), "") <> "" Then correo = DLookup("Email", "Employees", "Email=" & Me![Email]) 如果新西兰(DLookup(“电子邮件”、“员工”、“电子邮件=“&Me![Email]),”)那么 correo=DLookup(“电子邮件”、“员工”、“电

失踪的接线员在哪里

代码:

If Nz(DLookup("Email", "Employees", "Email=" & Me![Email]), "") <> "" Then
    correo = DLookup("Email", "Employees", "Email=" & Me![Email])
如果新西兰(DLookup(“电子邮件”、“员工”、“电子邮件=“&Me![Email]),”)那么
correo=DLookup(“电子邮件”、“员工”、“电子邮件=”&Me![Email])

电子邮件将是一个字符串,因此您的语法应为:

If Nz(DLookup("Email", "Employees", "Email= '" & Me.Email & "'"), "") <> "" Then
    correo = DLookup("Email", "Employees", "Email= '" & Me.Email & "'")
如果新西兰(DLookup(“电子邮件”、“员工”、“电子邮件=”)”和Me.Email&“”),那么
correo=DLookup(“电子邮件”、“员工”、“电子邮件=””和Me.Email&“”)

请注意,在您要查找的电子邮件地址周围添加了单引号

两件事。首先,它是VBA中的
ElseIf
,而不是
Else If
(没有空格)。其次,在
If
块的末尾有一个额外的
End If
。见下文:

Private Sub ResetButton_Click()

    Dim correo As String

        If Nz(Me.Email, "") = "" Then
            MsgBox "Email Empty. Please Enter a Valid Email Address.", vbInformation, "Email Empty"
            Me.Email.SetFocus
        ElseIf Nz(DLookup("Email", "Employees", "Email= '" & Me.Email & "'", "") <> "" Then
            correo = DLookup("Email", "Employees", "Email= '" & Me.Email & "'")
        End If

        If correo <> Me.Email Then
            MsgBox "Wrong Email Address. Please Use a Correct Email Address.", vbCritical, "Wrong Email Address"
            Me.Email.SetFocus
        Else
            DoCmd.Close
            DoCmd.OpenForm "UserVerificationPasswordReset"
        End If

End Sub
Private Sub ResetButton\u Click()
作为字符串的Dim correo
如果新西兰(Me.Email,“””),则
MsgBox“电子邮件为空。请输入有效的电子邮件地址”。vbInformation“电子邮件为空”
Me.Email.SetFocus
ElseIf Nz(DLookup(“电子邮件”、“员工”、“电子邮件=”)”和Me.Email&“,”)”然后
correo=DLookup(“电子邮件”、“员工”、“电子邮件=””和Me.Email&“”)
如果结束
如果你给我写信,那么
MsgBox“错误的电子邮件地址。请使用正确的电子邮件地址。”,vbCritical,“错误的电子邮件地址”
Me.Email.SetFocus
其他的
文件关闭
DoCmd.OpenForm“UserVerificationPasswordReset”
如果结束
端接头

@Negron你能用你现在所拥有的内容更新你的原始帖子吗?我已经测试了上面的代码,它在我的系统中运行没有问题。Private Sub ResetButton_Click()Dim correo As String如果是Nz(Me.Email,“”””),那么MsgBox“Email Empty.请输入一个有效的电子邮件地址。”,vbInformation,“Email Empty Empty”Me.Email.SetFocus Else如果新西兰(DLookup(“电子邮件”、“员工”、“电子邮件=”)“&Me![Email])&“,”)”然后correo=DLookup(“电子邮件”、“员工”、“电子邮件=””)“&Me![Email]&“”)如果correo Me.Email则MsgBox“错误的电子邮件地址。请使用正确的电子邮件地址。”,vbCritical,“错误的电子邮件地址”Me.Email.SetFocus Else DoCmd.Close DoCmd.OpenForm“UserVerificationPasswordReset”End If End If End If End If End sub其中Employees是表,Email是表field@Negron在当前的windows Ctrl+G中,您可以键入
Msgbox DLookup(“电子邮件”、“员工”、“电子邮件=”)Example@Domain.com'")
但请输入一封有效的电子邮件,看看会发生什么。他将其发布在一条评论中。该评论没有返回行,现在请重写他的代码,但转到另一行,如果其他行之间有空格。这可能更有意义。我更新了答案,对电子邮件控件的引用是错误的。