0

Form.SourceObjectユーザー入力に基づいてレコード ソース ( ) を変更するサブフォームがあります。サブフォームの特定のフィールドのプロパティに依存する変更追跡システムを開発していBefore Updateます (違いがある場合はシート ビューで)。レコード ソースを変更しなければ、Before Update適切にトリガーされます。変更すると失われ、トリガーを再割り当てする必要があります。問題は、これを行う方法を説明しているものを見つけることができなかったことです。「トラッカー」が呼び出されるコードである次を使用してみました:

Forms![PartsDatabaseX]![RepsSubformX]![Pack Rank].BeforeUpdate = "[Event Procedure]"

エラー 2455 = 「BeforeUpdate プロパティへの無効な参照を含む式を入力しました」

Forms![PartsDatabaseX]![RepsSubformX]![Pack Rank].BeforeUpdate = "Tracker"

エラー 2455 = 「BeforeUpdate プロパティへの無効な参照を含む式を入力しました」

Forms![PartsDatabaseX]![RepsSubformX]![Pack Rank].BeforeUpdate(Tracker)

コンパイル エラー = 予期される関数または変数

Forms![PartsDatabaseX]![RepsSubformX]![Pack Rank].BeforeUpdate  "Tracker"

エラー 438 = 「オブジェクトはこのプロパティまたはメソッドをサポートしていません」

編集-

BeforeUpdateさらにいじってみると、対応する before update イベントが存在すると仮定して、フォーム内のコントロールにプロパティを適切に割り当てることができます。

Private Sub Assign_Before_Update()
Me.FormCtl.BeforeUpdate = "[Event Procedure]"
End Sub

Private Sub FormCtl_BeforeUpdate(Cancel As Integer)
'Do stuff
End Sub

残念ながら、このメソッドはまだサブフォームで失敗します...

Form.SourceObjectを変更しているという事実が、プロパティの設定を妨げていると思い始めています。

4

2 に答える 2