2

請求書を追跡する MS Access データベースがあります。データの入力に使用するフォームでは、請求金額 (例: $100) のコントロール [Amount] があります。そのフォームには、請求書の一部を追跡するサブフォームもあります (例: 50 ドルの食料品と 50 ドルの清掃用品)。メインフォームには、サブフォームの内訳金額を合計するコントロール [Breakdown Total] もあります。

[Amount] = [Breakdown Total] でない限り、フォーム内のレコードを変更できないようにしようとしています。2 つのテーブル構造のため、[Amount] コントロールを入力した場合にのみ機能し、内訳を変更した場合には機能しないため、データ検証ルールが思いどおりに機能していないようです。

これを処理するイベントを作成することを考えましたが、使用するイベントがわかりません。BeforeUpdate では、一致しないコントロールを離れることはできません。これは役に立ちません。それが正しい場合はどうなるでしょうか。 ?-そして、AfterUpdate では、疑わしいレコードを画面に残す必要がないようです。誰かが私が使用すべきイベントを推奨してもらえますか?

4

1 に答える 1

0

これは、最近クライアントに実装したソリューションです。それがまさにあなたが必要としているものかどうかはわかりませんが、2 つの ListBox を実装しています。

ここに画像の説明を入力

左側のリストボックスはプログラムによって VBA で Access ビューから情報をロードし、メインのリストボックスはクロスタブ作成アルゴリズムによってバインドされます。今、あなたのものは必ずしも私のものほど複雑で詳細である必要はありません. ただし、サブフォームなしでこれを行うことができます。

于 2012-10-19T12:29:33.817 に答える