と呼ばれるコンボ ボックス (主キーとして機能する) を持つ MS Access フォームがありますcboProjectID。コンボ ボックスで選択が行われると、コンボ ボックスで選択された project_id で使用可能なものに基づいてエラー コードを表示するためにcboProjectID呼び出される別のコンボ ボックスがトリガーされるように、フォームを作成しようとしています。cboErrCod1cboProjectID
特定のプロジェクト ID では特定のエラー コードのみを使用でき、それらは別のテーブルで定義されています。HDR_ERRCODESただし、関連するというクエリを作成しProject_ID、Project_Code可能性Error_Reason_Codeがある特定のproject_Id.
たとえば、プロジェクト コード (cboProjectID コンボ ボックスから選択) は、"FI-01-05"、"FI-01-01"、"SY-02-02" など) のようになります。選択すると、Project_IDはテーブルProject_DTA_REV_T(フォームがその情報を格納するテーブル) に格納され、Project_IDは単純に次の番号 (1、2、3、4 など) になります。
VBA コードを実行するときに複数の値を返すには、Recordset を使用する必要があることを理解しています。これは私が始めたコードですが、cboProjectIDコンボボックスフィールドの「変更時」コマンドでは機能していないようです:
Private Sub cboProjectID_Change()
Dim VarComboKey As Integer
Dim dbs As DAO.Database
Dim Err1 As DAO.Recordset
VarComboKey = Me.cboProjectID.Value
Set dbs = CurrentDb
Set Err1 = dbs.OpenRecordset("SELECT DISTINCT [Error_Reason_Code] FROM [HDR_ErrCodes] WHERE [project_ID] = " & VarComboKey)
Do While Not Err1.EOF
Me!cboErrCod1 = Me!cboErrCod1 & Err1!Error_reason_code & " "
Err1.MoveNext
Loop
Err1.Close
Set Err1 = Nothing
End Sub
私は VBA の専門家ではなく、Recordset のこの Web サイトで読んだコーディング方法論に従おうとしています。Access は、コンボ ボックスで選択されたプロジェクト ID に関連するError_Reason_Code特定の ではなく、すべてのタイプの を表示しています。Error_Reason_CodecboProjectID
誰かがこのコードをError_Reason_CodecboErrCod1 コンボ ボックスのProject_IDに表示する正しい方向に向けることができますかcboProjectID?