1

コンボボックスウィザードを使用して、コンボボックスがフォームに表示されるレコードを判別できるようにしました。

ウィザードは、コンボボックスのAfterUpdateイベントでマクロを作成して、これを実行できるようにしているようです。AfterUpdateイベントにもVBAを追加できるようにしたいのですが、その外観から、Accessでは一度にExpression / Macro/Codeから1つのオプションしか使用できません。

ウィザードによって作成されたコンボボックスの効果を維持し、AfterUpdateイベントにもvbaコードを自由に追加できる方法はありますか?

4

1 に答える 1

1

私が言うことができるこれについての簡単な方法はありません。私は新しい埋め込みマクロの「機能」に夢中ではありません。

マクロを開き、ctrl + Aですべてを選択し、ctrl+Cでクリップボードにコピーしてから閉じることができます。リボンを使用して、マクロの作成とctrl+Vを選択して埋め込みマクロに貼り付けます。これをVBAとして保存し、リボンからマクロをVisualBasicに変換できるようになりました。あなたが得るでしょう:

DoCmd.SearchForRecord , "", acFirst, "[ID] = " & Str(Nz(Screen.ActiveControl, 0))

そして、いくつかのエラーコーディング。次に、[イベントプロシージャ]を選択して入力することで作成された、これらの行にある私が好む方法があります。もちろん、エラーコーディングを追加する必要があります。

If Not IsNull(Me.TheComboName) Then
    ''Force a save
    If Me.Dirty Then
       Me.Dirty = False
    End If

    ''This will go to first record if not found.
    ''You will need quotes for a text data type
    Me.Recordset.FindFirst "ID=" & Me.TheComboName 
Else
   ''This probably should not happen, so you may have 
   ''problems, it's up to you
End If

DFentonの答えをここで読みたいと思うかもしれません

上記を完了すると、レコードを検索するイベントプロシージャが作成され、必要なコードを追加できます。

于 2013-03-14T10:25:37.967 に答える