2

これはおそらくばかげた質問だと思いますが、あなたは彼らが何を言っているのか知っています. クリック時コマンドを使用して、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
4

1 に答える 1

6

DoCmd.Close は、信頼性を大幅に高めるオプションの引数を取ります。例えば、

DoCmd.Close acForm, "MyFormName"
于 2012-12-13T20:27:46.800 に答える