<HOME  <お願い事項   <Access2002 TOP   <Access97 TOP   <サイト内検索
 MS-Access2000超入門部屋--「連番」の考え方
   [実験1] [実験2] [注文表1] [注文表2] [注文表3]



「連番」の考え方--注文表を作ってみる3

さあて、じゃあ、Wのついてないテーブルにデータを移すとこの処理、作ってみます。
でも、ここから先の操作は、他のコーナーでも2度3度お話していることでもありますんで、ここから先はおまけってことで、とにかくざーっと流しますね。

追加クエリ作ります〜
まずは、[W_注文テーブル]から[注文テーブル]にデータを追加するクエリ〜↓

そして↓[QW_注文明細テーブル](サブフォームが使ってるクエリ)から[注文明細テーブル]に追加するクエリ〜

列名が違うのがありますから、「レコードの追加」欄、確認してくださいね。↓

次に削除クエリを作ります〜
[W_注文テーブル]の中身を削除するクエリ〜↓

そして、↓[W_注文明細テーブル]を削除するクエリ〜



で、この4つのアクションクエリを、下のような順番で動かします。

マクロを新しく作ります。
「クエリを開く」アクションを4回動かします。上の順番で、クエリ名を指定します。
コメント欄にも動かすクエリ名とか書いておくと分かりやすいと思いますよ。

で、ためしに・・・。
このマクロ、動かしてみましょう。なんか適当な名前付けて保存し、ツールバーの「びっくりマークボタン」(実行)をクリックしましょう。
マクロが動いて、4つのクエリが次々に実行されます。

全部で8つ、メッセージボックスが出るはずなんですが、全部[はい]ボタンをクリックして、そのあと、4つのテーブルの中身を確認してください。
Wのテーブルは空っぽになり、Wじゃないテーブルにデータが移りました?↓

で、このマクロを、フォーム上から実行できるよう、コマンドボタンかなんか作ります。↓

マクロの内容も、↓正しく動作することが分かれば、もう確認メッセージが8回もいらないんで、メッセージを出なくしましょう。

「メッセージの設定」↑アクションを使えば非表示にすることができます(エラーメッセージは出ますが、確認メッセージは出ません)。
マクロが終了すれば、自動的にメッセージの設定は元に戻る仕様らしいんですが、一応念のために、マクロの最後でもとの設定に戻しておこうかな。。。



で、改めて、もう1件テスト・・・
「注文番号」は↓もうすでに”001”っていう番号使ってるので、ダブっちゃだめですよ。002とかにしてください。

なぜって?何でそんなこと聞くんですかっ
主キーはなんですか主キーは!これダブったらリレーションもクソもなくなっちゃうじゃないですか〜!
んも〜しっかりしてくださいよう。

日付とか顧客名は、だぶってもいいので適当なの入れてください。
で、商品をなんか適当に入力してください。
Enterキーを押して、レコードセレクタのエンピツマークが消えたら、オッケーです。エンピツマーク、なくなりました?

で、「伝票登録」ボタンをクリック・・・。↓

と、当然こうなりますよね。。。。↑

マクロの最後で「再クエリ」をすれば、削除したあとの残像もきれいになります。
(再クエリするコントロール名は何も指定しなくてオッケーです)↓