- ベストアンサー
Access2010でレコードを自動挿入する方法
- Windows7、Access2010を使い、データベースの設計を行っています。作成しているものは、ネットアプリの顧客情報管理が目的で、利用代金回収チェックをメインにしています。
- お客様の入金を確認したら、使用者がフィールドに「済」と、データを入れるまではいいのですが、次の代金回収用レコードを自動挿入したいのです。
- 例えば、あるお客様の今月の使用料が振り込まれたら、ユーザーが確認用フィールドに「済」と入れます。すると、翌月のレコードがひとりでに作られているという仕組みを作成したいのです。もちろん、集金確認用フィールドは、空白の状態です。 できれば、VBA以外の方法でできると助かります。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
No1です。「更新後処理」としていましたが、 「変更時」ですと入力しエンタキーを叩いた 時点で反映されるのでこのほうがいいかも しれません。 単票形式のフォームの場合も同じです。 なお、単票形式の場合、マクロで アクション 再クエリ レコードの移動 (次のレコード) あるいは、 アクション レコードの移動 (次のレコード) 再クエリ のように、設定する必要はないと思います。 自動的に次のレコードに移動するはずです。 したがって、「アクション」は「再クエリ」だけで いいのでは、と思います。 なお、フォームで表示するレコードはIDなどで 特定の顧客にするならば、クエリの「ID」の抽出 条件にフォームのテキストボックスなどの コントロールの値を指定する必要があります。 たとえば、「ID」の抽出条件に、 ID Forms!フォーム名!コントロール名 のように設定します。
その他の回答 (1)
- piroin654
- ベストアンサー率75% (692/917)
一つの案ですが。 (1) まず、利用代金テーブルを基にクエリを作成します。 クエリのフィールドは質問と同じ内容にします。 「入金確認」の抽出条件を以下のように設定します。 入金確認 <>"済" Or Is Null これで、「入金確認」のフィールドに「済」以外の文字が入ったものや 空欄のレコードは表示されます。 (2) このクエリを基に新規作成で、「表形式」 のフォームをオートフォームで作成します。 出来たフォームを適当な名前で保存します。 (3) 新しいマクロを作成します。 「アクション」のところに「再クエリ」を選択します。 このマクロを適当な名前で保存します。 (4) (2)で作ったフォームをデザインビューで開きます。 「入金確認」のフィールドのプロパティで「更新後処理」 を選択し、(3)で作成したマクロを設定します。 これで終わりです。なお、(4)で更新後処理を指定しているので 「入金確認」のフィールドに「済」と入れた後、他のレコードの フィールドをクリックするなどして、レコードのフォーカスを 他に移動させる必要があります。
お礼
回答ありがとうございます。 実現方法をずっと探して困っていました。 助かります。