サブフォームに2つのコンボボックスがあります。最初のコンボボックスが2番目のコンボボックスに挿入されます。これらはフォームの詳細セクションに配置されます。私は彼らにこのように働かせたい:最初のコンボボックスから任意の値を選択すると、同じ行の2番目のコンボボックスに関連する値が入力されるようにする。コンボボックスカスケードエフェクトが異なる行で動作しない
今のところ私はこれを実装しようとしましたが、行1の最初のコンボボックスから任意の値を選択すると、同じ行の2番目のコンボボックスが表示されますが、最初のセットコンボボックス私は上記のコンボボックスの2番目のセットの値が変更されているか、nullになっていることがわかります。
ここでは、コードです:
第一のコンボボックスがcboRCMTaskです:
Private Sub cboRCMTask_AfterUpdate()
Me.cboRCMTaskOptions.RowSource = "SELECT ID, RCMTaskOptions FROM tblRCMTaskOptions WHERE RCM_ID=" & Me.cboRCMTask.Column(0) & ";"
Me.cboRCMTaskOptions = Me.cboRCMTaskOptions.ItemData(0)
Me.cboRCMTaskOptions.Requery
End Sub
cboRCMTaskOptionsは、第二のコンボボックスです。
form_currentイベント:コードのあなたの最初の部分で
Private Sub Form_Current()
Me.cboRCMTask.RowSource = "SELECT ID, RCMTask FROM tblRCMTask;"
If IsNull(txtRCM_ID) Then
Me.cboRCMTask = Me.cboRCMTask.ItemData(0)
End If
Me.cboRCMTaskOptions.RowSource = "SELECT ID, RCMTaskOptions FROM tblRCMTaskOptions WHERE RCM_ID=" & Me.cboRCMTask.Column(0) & ";"
If IsNull(txtRCMOption_ID) Then
Me.cboRCMTaskOptions = Me.cboRCMTaskOptions.ItemData(0)
End If
End Sub
クリックイベントはお勧めできません。これが単一形式の場合、現在のイベントとコンボ1の更新後のイベントは、カスケードコンボの通常のイベントです。 – Fionnuala
2番目のコンボボックスを再クエリーするだけでなく、フォームの詳細セクションにデフォルト値をそのまま表示することもできます。 – user1175126
@ user1175126連続フォームを使用していますか?あなたがいればこれのどれも起こることはないからです。 – Fionnuala