検索して検索しても、これに対する解決策が見つかりません。多くの継続的なフォーム サブフォームを含むフォームがあります。たとえば、サブフォームの 1 つで FIELD_A の値を変更すると、他のいくつかのサブフォームで計算を実行すると、フォーカスが FIELD_A に戻ります。ただし、計算中に PARENT フォームへの更新が発生し、発生する必要があります。したがって、フォーカスを元のサブフォームに戻すと、サブフォームの最初のレコードにフォーカスがあります。次に、作業中のレコードに移動する必要があります。
いくつかのオプションを試しましたが、何も機能しません。ただし、指定されたレコードに移動するコードの行に DEBUG ブレークポイントを設定し、その行からコードを物理的に実行すると、機能します! そこに待機期間を設定しようとしましたが、役に立ちませんでした。
コードのスニペットを次に示します。
Call common.CalculateAllLoadTotals _
(Me, Me.AffiliateID, Me.ClientID, Me.FacilityID, Me.ProposalRevision)
Me.Recordset.FindFirst "[AffiliateID] = '" & Me.AffiliateID & "'" & _
" AND [ClientID] = " & Me.ClientID & _
" AND [FacilityID] = " & Me.FacilityID & _
" AND [ProposalRevision] = " & Me.ProposalRevision & _
" AND [EquipmentID] = " & currItemID
私もこれを試しました:
dim currRecord as Long
currRecord = Me.CurrentRecord
' >>> REST OF CODE HERE <<<
Call common.CalculateAllLoadTotals _
(Me, Me.AffiliateID, Me.ClientID, Me.FacilityID, Me.ProposalRevision)
Me.Form.Recordset.Move = currRecord
私が言ったように、デバッグでコードを一時停止してから実行を続けると、コードは機能します (いずれか)。変。