Access 2007 VBA DoCmd.Close无效

时间:2012-12-13 20:11:28

标签: vba ms-access-2007

我知道这可能是一个愚蠢的问题,但你知道他们说了什么。我在Access数据库中有VBA,其中包含On Click命令。本质上,它是一个带有组合框和用户登录时间戳的表单。单击按钮后,将加载数据输入表单,具体取决于从组合框中选择的名称。我打算在数据输入表单打开后关闭登录表单。问题是,无论我把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

1 个答案:

答案 0 :(得分:5)

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

DoCmd.Close acForm, "MyFormName"