2012-04-23 7 views
0

サブフォームに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

、on_clickイベントにコードをシフトします。私はあなたがItemDataへの参照で達成しようとしていることを確信していませんが、それは不要だと思います。

同様に、Form_currentイベントの3行目の最後の行は、再クエリで置き換えます。

+0

クリックイベントはお勧めできません。これが単一形式の場合、現在のイベントとコンボ1の更新後のイベントは、カスケードコンボの通常のイベントです。 – Fionnuala

+0

2番目のコンボボックスを再クエリーするだけでなく、フォームの詳細セクションにデフォルト値をそのまま表示することもできます。 – user1175126

+0

@ user1175126連続フォームを使用していますか?あなたがいればこれのどれも起こることはないからです。 – Fionnuala

1

あなたの説明から、あなたは連続したフォームを使用しています。連続フォームには多くの行があるように見えますが、コーディングの観点から見ると、現在の行である1つの行だけを持つと考えることができます。私はコンボ2のコントロールソースがコンボの隠し数値の列であると思われます。コンボの行ソースを変更すると、可視の行が見つからなくなり、表示できなくなります。編集のためにポップアップフォームを提供するか、フォームの値を保存するテキストボックスと、その値を編集するためのややこしいコンボを提供する必要があります。条件付き書式設定を使用して外観を改善するには少ししかできません。

+0

2番目のコンボボックスのコントロールソリッドは、文字列であるRCMOption_IDです。 – user1175126

+0

私が作っていることをあなたが理解しているとは確信していません。あなたは連続したフォームを使用しているようです。現在のイベントで2番目のコンボを変更すると、** all **行に対して2番目のコンボが変更されます。 – Fionnuala

+0

どのように私はそれを修正するのですか?現在のイベントがない場合はどこですか? – user1175126