Access 2007 VBA DoCmd。关闭不工作

Access 2007 VBA DoCmd。关闭不工作,vba,ms-access-2007,Vba,Ms Access 2007,我知道这可能是个愚蠢的问题,但你知道他们怎么说。我在Access数据库中有VBA,其中包含用于单击的命令。本质上,它是一个带有组合框和用户登录时间戳的表单。单击按钮后,将根据从组合框中选择的名称加载数据输入表单。我希望登录表单在数据输入表单打开后关闭。问题是,无论我把DoCmd.Close放在哪里,愚蠢的表单都不会关闭 如果有问题,此表单设置为在用户打开数据库时自动打开 下面是与按钮关联的事件过程的VBA Option Compare Database Private Sub TimeInBu

我知道这可能是个愚蠢的问题,但你知道他们怎么说。我在Access数据库中有VBA,其中包含用于单击的命令。本质上,它是一个带有组合框和用户登录时间戳的表单。单击按钮后,将根据从组合框中选择的名称加载数据输入表单。我希望登录表单在数据输入表单打开后关闭。问题是,无论我把DoCmd.Close放在哪里,愚蠢的表单都不会关闭

如果有问题,此表单设置为在用户打开数据库时自动打开

下面是与按钮关联的事件过程的VBA

Option Compare Database

Private Sub TimeInButton_Click()
Dim strLoginForm As String

If Me.AgentCombo = "Amber" Then
  strForm = "frmCustomersAmber"
ElseIf Me.AgentCombo = "Amanda" Then
  strForm = "frmCustomersAmanda"
ElseIf Me.AgentCombo = "Brett" Then
  strForm = "frmCustomersBrett"
ElseIf Me.AgentCombo = "Marcus" Then
  strForm = "frmCustomersMarcus"
ElseIf Me.AgentCombo = "Terrah" Then
  strForm = "frmCustomersTerrah"

End If


'------------------------------------------------------------
' TimeInButton_Click
'
'------------------------------------------------------------

On Error GoTo TimeInButton_Click_Err

    On Error Resume Next
    DoCmd.GoToRecord , "", acNewRec
    If (MacroError <> 0) Then
    Beep
    MsgBox MacroError.Description, vbOKOnly, ""
End If

DoCmd.OpenForm strForm

TimeInButton_Click_Exit:
Exit Sub

TimeInButton_Click_Err:
MsgBox Error$
Resume TimeInButton_Click_Exit

End Sub
选项比较数据库
专用子时间按钮(单击)()
作为字符串的Dim strLoginForm
如果Me.AgentCombo=“琥珀色”,则
strForm=“frmCustomersAmber”
ElseIf Me.AgentCombo=“Amanda”那么
strForm=“frmCustomersAmanda”
ElseIf Me.AgentCombo=“Brett”那么
strForm=“frmCustomersBrett”
ElseIf Me.AgentCombo=“Marcus”那么
strForm=“frmCustomersMarcus”
ElseIf Me.AgentCombo=“Terrah”那么
strForm=“frmCustomersTerrah”
如果结束
'------------------------------------------------------------
'时间按钮\u单击
'
'------------------------------------------------------------
错误转到时间按钮时单击错误
出错时继续下一步
DoCmd.GoToRecord,“,acNewRec
如果(宏错误0),则
嘟嘟声
MsgBox宏错误。说明,vbOKOnly,“”
如果结束
DoCmd.OpenForm strForm
时间按钮单击退出:
出口接头
时间按钮点击错误:
MsgBox错误$
恢复时间按钮单击退出
端接头

DoCmd.Close采用可选参数,使其更加可靠。比如说,

DoCmd.Close acForm, "MyFormName"

您是否尝试过“DoCmd.Close acForm”,“frmLogin”,frmLogin是您表单的名称?非常感谢您的评论。我试过将DoCmd.closeacform,“LoginForm”放在几个不同的地方,但它不想工作。我主要需要有关位置的帮助。请尝试在代码之前添加以下行以关闭表单:
On Error Goto 0
。我的猜测是,调用DoCmd.Close时出现了一个错误,该错误被代码前面的On error Resume Next语句“吞没”。