AccessでSubFormsに問題があります。わからないことがあります。 私はコントロール(コンボ)を持つフォーム(frm)を持っており、フォームはサブフォーム(サブフルーム)を含んでいます。 debugmodeでは、2つのブレークポイントを作成します.1つはcombo_AfterUpdateで、もう1つはfrm_AfterUpdateです。私はコンボすべてが罰金だのデータ変更した場合:SubForm.Recordsetの変更中にForm_AfterUpdateが失われる
:(フォームを保存)> frm_AfterUpdateで停止combo_AfterUpdateで
停止>今私はsubfrm.Form.Recordsetを変更し、私のcombo_AfterUpdateのEventHandlerにコードを追加します
combo_AfterUpdateでストップ>(フォームを保存)> ...
frm_AfterUpdateで無停止! 誰もがなぜ知っていますか?
EDIT:combo_AfterUpdateに実行 ここコード:
If Not IsNull(Me!childID) Then
Dim childSubSource As QueryDef
Set childSubSource = CurrentDb.QueryDefs("qry_parent_Detail_child_WithParam")
childSubSource.Parameters("childID").Value = Me!childID
Set frmChildSub.Form.Recordset = _
childSubSource.OpenRecordset(dbOpenDynaset, dbSeeChanges)
End If
EDIT: 面白い..私は変更する場合
Set frmChildSub.Form.Recordset = _
childSubSource.OpenRecordset(dbOpenDynaset, dbSeeChanges)
frmChildSub.Form.Recordsource= childSubSource.SQL
にイベントが働いています思惑通り。私は親フォームの汚れたプロパティをチェックして、問題がここにあるようです。私がコンボボックスを変更したにもかかわらず、私が新しいフォームを.recordset経由でサブフォームに割り当てると、親フォームの変更は保存されるか、失われます。
挨拶
「変更するsubfrm.Form.Recordset」というコードを投稿できますか?あなたのアップデートがキャンセルされ、フォームのイベントが発生しない可能性があります。 –
なぜコントロールの値が変更された後にフォームのレコードセットをスワップするのか分かりません。私はあなたがここでかなり「非標準的」なことをしようとしていると思っています。コンボの変更がデータベースに保存されているのですか、それともバインドされていないコントロールですか? – HK1
イゴール:ここにコード。 childIDはコンボボックスの値です。 HK1:バインドされたコントロールで、コンボボックスの値に応じてサブフォーム内の別のデータが必要なので、レコードセットをスワップします。私は "link master-/childfields"機能を使用しますが、親レコードセットもスワップしています:/ – Egi