Access2010でレコードを自動挿入する方法

このQ&Aのポイント
  • Windows7、Access2010を使い、データベースの設計を行っています。作成しているものは、ネットアプリの顧客情報管理が目的で、利用代金回収チェックをメインにしています。
  • お客様の入金を確認したら、使用者がフィールドに「済」と、データを入れるまではいいのですが、次の代金回収用レコードを自動挿入したいのです。
  • 例えば、あるお客様の今月の使用料が振り込まれたら、ユーザーが確認用フィールドに「済」と入れます。すると、翌月のレコードがひとりでに作られているという仕組みを作成したいのです。もちろん、集金確認用フィールドは、空白の状態です。 できれば、VBA以外の方法でできると助かります。
回答を見る
  • ベストアンサー

Access2010で、レコードを自動挿入する方法

Windows7、Access2010を使い、仕事でデータベースの設計を行っています。 作成しているものは、ネットアプリの顧客情報管理が目的で、利用代金回収チェックをメインにしています。 お客様の入金を確認したら、使用者がフィールドに「済」と、データを入れるまではいいのですが、次の代金回収用レコードを自動挿入したいのです。 例えば、あるお客様の今月の使用料が振り込まれたら、ユーザーが確認用フィールドに「済」と入れます。すると、翌月のレコードがひとりでに作られているという仕組みを作成したいのです。もちろん、集金確認用フィールドは、空白の状態です。 できれば、VBA以外の方法でできると助かります。 宜しくお願いします。 イメージ図 顧客ID お客様名 請求日 入金確認 1    山田   4/25日  済   ↓(入金確認フィールドに「済」とデータが入ると) 1    山田   5/25日  (Null) が自動的に入る

質問者が選んだベストアンサー

  • ベストアンサー
  • piroin654
  • ベストアンサー率75% (692/917)
回答No.2

No1です。「更新後処理」としていましたが、 「変更時」ですと入力しエンタキーを叩いた 時点で反映されるのでこのほうがいいかも しれません。 単票形式のフォームの場合も同じです。 なお、単票形式の場合、マクロで    アクション    再クエリ    レコードの移動 (次のレコード) あるいは、    アクション    レコードの移動 (次のレコード)    再クエリ のように、設定する必要はないと思います。 自動的に次のレコードに移動するはずです。 したがって、「アクション」は「再クエリ」だけで いいのでは、と思います。 なお、フォームで表示するレコードはIDなどで 特定の顧客にするならば、クエリの「ID」の抽出 条件にフォームのテキストボックスなどの コントロールの値を指定する必要があります。 たとえば、「ID」の抽出条件に、     ID  Forms!フォーム名!コントロール名 のように設定します。

diowjkljspjpjfl
質問者

お礼

回答ありがとうございます。 実現方法をずっと探して困っていました。 助かります。

その他の回答 (1)

  • piroin654
  • ベストアンサー率75% (692/917)
回答No.1

一つの案ですが。 (1) まず、利用代金テーブルを基にクエリを作成します。 クエリのフィールドは質問と同じ内容にします。 「入金確認」の抽出条件を以下のように設定します。       入金確認     <>"済" Or Is Null これで、「入金確認」のフィールドに「済」以外の文字が入ったものや 空欄のレコードは表示されます。 (2) このクエリを基に新規作成で、「表形式」 のフォームをオートフォームで作成します。 出来たフォームを適当な名前で保存します。 (3) 新しいマクロを作成します。 「アクション」のところに「再クエリ」を選択します。 このマクロを適当な名前で保存します。 (4) (2)で作ったフォームをデザインビューで開きます。 「入金確認」のフィールドのプロパティで「更新後処理」 を選択し、(3)で作成したマクロを設定します。 これで終わりです。なお、(4)で更新後処理を指定しているので 「入金確認」のフィールドに「済」と入れた後、他のレコードの フィールドをクリックするなどして、レコードのフォーカスを 他に移動させる必要があります。

関連するQ&A

  • アクセスで自動でレコードを増やす

    お世話になります。アクセスでデータを入力するフォームを作っているのですが、月とNoと内容というフィールドがあったときに、今までは、その月に使用する分のレコードをエクセルで作成し、テーブルに貼り付けていました。この作業をボタンを押すと「月を入力して下さい」、「No(始まり)を指定してください」、「NO(終わり)を指定してください」とメッセージを表示し、自動でその分のレコードが追加されるというようにしたいのですが、どうすればよいですか? ご指導のほど、よろしくお願いします。 <テーブルイメージ> 月 No 内容 5月 1 (空欄。入力者がその都度、Noを指定して開き、入力) 5月 2 5月 3 ↑ボタンを押すと自動でレコードと追加したい。

  • ファイルメーカーで新規レコードを自動的に作る方法がありますか?

    御質問がございます。あるフィールドに特定の数値が入ったら自動で新規レコードが追加されるようなことができるでしょうか?自分でいろいろやってみましたがうまくいきません。具体的にお話致しますと、バーコードで読み取ったデータをファイルメーカーに取り組みます。次にダミーのバーコードを読み込ませたら新規レコードが自動で作成されるような仕組みにしたいのです。流れとしましては、バーコード登録、ダミーバーコード読み取り、新規レコード作成の形になります。皆様からのアドバイスをお待ちしております。

  • ファイルメーカー レコード自動作成

    ファイルメーカーPro8もしくわ、ファイルメーカーサーバー7で顧客テーブルにある顧客140名分のデータを、売り上げテーブルのレコードとして毎朝9時に140レコードを自動作成はできないでしょうか? 売り上げテーブルには、今日の日付と、顧客名を載せたいと思っています。

  • Access 連結フィールド値を自動で表示

    Accessでフォーム上にサブフォーム(データシート)を作成すると、 新規レコード欄にも自動的に連結フィールドの値が表示されます。 このサブフォームをメインフォーム上に作らずに、 コマンドボタンクリック時にあるフィールドが一致する(上記で言う連結フィールド)データを表示したサブフォーム(データシート)を開くかたちにしたいのですが、そうすると当然ながら新規レコード欄には連結フィールドの値は表示されません。 これをメインフォーム上にサブフォームを作った時と同じように、新規レコード欄に連結フィールド値を表示させるにはどうしたら良いでしょうか? サブフォームを開く段階で新規レコードに結合フィールドの値を(VBAで)入力する事も考えましたが、そうするともしそこにデータを入れるつもりじゃなくても1つのレコードとしてデータが残ってしまいます。 メインフォーム上に作ったサブフォームなら、新規レコードに結合フィールドの値は表示されているものの、その他のフィールドにデータを入力しなければ1つのレコードとしてデータが残ることはありません。 こういう事が可能かどうかわかりませんが、ご存知でしたら教えてくださいませ。 よろしくお願いします!

  • VBでのデーターベースレコード検索方法

    VB6.0を使って顧客データーベースを作っているのですが質問させてください。 まず作成した順序として ・ビジュアルデーターマネージャーを使ってレコードを作成しました。 ・顧客コード、フリガナ、名前、住所・・・あと何点かありますが・・ ・データーフォームウィザードで顧客フォームを表示できるようにしました。 ここからが質問ですが、 1.フォームを開いた時点では顧客コードに1番が割り振られるのでそれをまず空欄にしておきたい。 2.例えば23を顧客コードフォームに入力しエンターキーを押せば23の顧客データーを検索し各フォームに表示されるようにしたい。 3.23番の顧客を表示後、削除ボタンをおすとそのレコードが削除されるが、23番を2.のように入力するとレコードがない為自動的に新規入力となり保存すると23番目のレコードに挿入されるようにしたい。 以上の3点です。ど素人的な質問ですがどうかよろしくお願いします

  • Access97での日付自動入力について

     「日付」、「顧客名」、「記録(メモ)」の3つのフィールドから構成されるデータベースを作ろうとしています。このうち「日付」の部分に、自動的にレコード入力時の年月日を入れる方法はないでしょうか。

  • Accessで日付と金額を自動入力する方法

    Access2003/2007で会費集金記録を作っています。 フォームでの入力作業を簡単にするために悩んでいます。 会員ごとの単票形式のフォームを作り、下記のように入力フィールドを作成しました。 メインフォーム:[会員ID] [会員名] [会費額] サブフォーム:[会員ID] [入金確認] [入金日] [入金額] ※[入金確認]はチェックボックス サブフォームの[入金確認]をクリックしてオンにすると、[入金日]にその日の日付、 [入金額]にメインフォームの[会費額]の数値が自動的に入るようにすることはできますでしょうか? 毎月数千件の日付や金額を都度入力しており、なんとか自動化したいのです。 会費の入金日はバラバラなので、次にフォームを開いたときに、すでに入力済みの日付が更新されるとまずいのと、会員によって分割入金の方がおられるので、場合によって、自動入力された金額を修正することがあります。 クリック時のイベントプロシージャに構文を入力する方法で、どなたお教えいただけませんでしょうか。

  • エクセルでレコードを自動作成するには?

    エクセル中級?者です。マクロをかじった程度ですが、 下記のパターンでレコードを自動追加作成するのに、簡単な方法はありますか? 項目      商品    数量  レコード1      A     3     レコード2       B     2         ↓ レコード1      A     1 レコード2      A     1 レコード3      A     1 レコード4      B     1 レコード5      B     1 商品別の n個の合計データより、単品毎n個のレコードを自動作成したいのです。 合計データだけでも2,000程あり、×約5レコードで10,000はコピーするだけでも大変で、なんとかエクセルのマクロ等で自動作成できないものでしょうか?  シートやブックが変わっても結構です。宜しくお願いします。

  • Access クエリ集計について

    顧客管理作成中です。 テーブル:顧客dataの項目(フィールド名)に 顧客名をはじめとして、 入金予定日,入金予定額,入金日,入金額,クレジット入金日,クレジット入金額とあります。 それぞれ、日付が違うのですが、日々の流れをチェックできるよう、 日付でまとめたいのです(日々の金額は日計) 希望の形は 日付 入金予定額   入金額   クレジット入金額 11/1  11/2 11/3   ・   ・   ・ _____________________ 合計 どなたかアドバイスいただけないでしょうかm(_ _)m 宜しくお願いいたします。

  • ファイルメーカーPro6 全レコードでのスクリプト実行

    お客様のデータ管理をファイルメーカにて行っています。 基本ファイルAと対応履歴の内容ファイルBとがあり、Aにポータルを作成し、顧客ごとの訪問履歴の管理を行っています。 今、このAファイルに新しく、訪問回数をポータル内のレコードの数にて確認するためのレイアウトを作成しました。 複数顧客の状況を一目で確認できるように、リスト形式にて表示させているのですが、どうしてもポータル内のレコード数を計算させるために、顧客ごとにボタン押下にてスクリプトを実行させなければなりません。 顧客数が多いため、はっきり言って現在の状態では活用することが出来ません。 全レコードのスクリプトを一度に作動・計算させる方法はありますでしょうか? もしくは、別の対処方法があるようでしたらご教示いただけたらと思っております。 ちなみに現在は、履歴入力用(ポータルの在る)レイアウト(1)と訪問回数確認用のレイアウト(2)をスクリプトにて、(2)→(1)(ポータル数計算)→(2)と移動させています。 また、ポータル内の最終レコード内にある、日付フィールドの日付(最終対応日)のみを(2)のレイアウトに反映できれば、と思っていますが、どうしても初めのレコードの日付が反映されてしまいます。 あわせて、宜しくお願い致します。

専門家に質問してみよう