我知道这可能是一个愚蠢的问题,但你知道他们说了什么。我在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
答案 0 :(得分:5)
DoCmd.Close采用可选参数,使其更可靠。例如,
DoCmd.Close acForm, "MyFormName"