ACCESSのループにおいて、For~Nextをどのようにして利用するのか、初心者の頃は、想像できませんでした。
しかし、どうしても、For~Nextを使ってみたい衝動にかられ、作成してみました。
目次
ACCESSで、For~Nextを利用するときも、細工が大切
こんにちは。伊川(@naonaoke)です。
最近は、ACCESSの一括処理系を、紹介しています。
今までの紹介は、テーブルのすべての項目に、各、値を格納しました。
では、同じフィールドに、連続で、値を格納する方法を紹介します。
想定としては、ラーメン屋の大将がいます。
営業時間は、11:00~15:00がランチ営業 17:00~22:00までが、通常営業とします。
1日、100杯のラーメンを売るとします。その際に、
醤油ラーメンを入力して、登録
味噌ラーメンを入力して、登録
なんて、やっていたら、夜の仕込みにまにあわねぇ!ってなります。
ラーメン屋さんは、1日50杯が、損益分岐点のようです。
つまり、51杯目から、黒字となるようです。
せめて、伝票番号を、1つの区切りとして、連続で入力して、ラーメン屋の大将を、気分良く、おいしいラーメンを作ってもらいましょう。
このブログはこんな人にお勧め
- ACCESSで、VBAを勉強している人
- 同じフィールドに連続で、データを入力したい人
- ACCESSでFor~Nextを、どのように利用するか、素朴な疑問を持っている人
このブログを、読み終わるころには・・・・
現在、ラーメン店は、ほぼ、券売機で食券を購入しますが、データ分析としても利用できます。
ラーメン屋の大将が気分よくACCESSに入力
多分、手書きなら、こんな伝票を使っていると思います。
券売機を購入するなら、70万円前後、リースなら、3万円前後でしょうか。
しかし、券売機を利用しない、頑固オヤジなんでしょう。
ランチに、50杯のラーメンを売るとして、伝票の枚数は、約、35枚前後でしょう。
この入力に時間をかけると、大将の昼寝の時間、仕込みが間に合いません。
ラーメン屋の大将が気分よくACCESSに入力 作業手順 その1 入力フォーム
このような、入力フォームを用意しました。
メニューは、5つしかありません。
右側のボタンを、押すと、商品が、上から順に入力されます。
登録して完了となります。
ラーメン屋の大将が気分よくACCESSに入力 作業手順 その2 価格の入力は不要
当然に、価格の入力は、不要です。
ACCESSには、オートルックアップクエリがあります。
商品が、主キーになってさえいれば、何の問題もありません。
ラーメン屋の大将が気分よくACCESSに入力 作業手順 その3 登録ボタンの仕掛け
テキストボックスに仕掛けをします。
前回は、冠に、txtと入力しました。
しかし、今回は、テキストボックス1と、仕掛けを打ちます。
つまり、1番後ろの、1を、For~Nextを利用して、ループさせます。
赤枠の部分が、For~Nextで、ループを実行している部分です。
テキスト1~テキスト9までが、ループします。
ラーメン屋の大将が気分よくACCESSに入力 作業手順 その3 塩ラーメンボタンの仕掛け
ここも同様に、赤枠の部分を、For~Nextを利用してループさせています。
本来は、このような処理こそ、クラスモジュールで記載すべきですね。
しかし、わからなかったのよ。
ラーメン屋の大将が気分よくACCESSに入力 作業手順 その5 登録後、空白にする
ラーメン屋の大将が気分よくACCESSに入力 作業手順 その6 今回の重要な点
今回は、TM_testに仕掛けをしています。
今回の入力フォームは、商品を入力する欄が、全部で8個あります。
ラーメン屋の大将が、必ず、8杯のラーメンを入力するわけではありません。
ここに仕掛けを、儲けないと、5杯の入力の時は、テーブルには空白が入力されます。
だから、ここに仕掛けをします。
しかし、問題があります。
コードにも仕掛けをします。
この赤枠の部分です。
空白を登録しようとすると、デバックが発生します。
そのデバックを、回避するために、デバックが発生したら、デバックを無視して、登録完了としています。
多分、もっと、良い方法があると思います。
しかし、今の私には無理でした。
ここがポイント
実は、これも、ある会社から、ファイル作成の依頼を受けたときのコードです。
詳しい内容は割愛しますが、こんなことができると便利ですね。
For~Nextを利用して、ループを利用するのも、少し、発想を変えると、利用できるものですね。
今回は、非連結のテキストボックスで入力フォームを作成しましたが、連結でも、工夫次第で、For~Nextを利用することができると思います。
まとめ
クラスモジュールで、カッコよく決めたかったのですが、できませんでした。
追々、紹介しますので、ご期待ください。
今回も最後まで読んでいただきありがとうございました。
今回のサンプルファイルは、No274です。
わからない事を延々と考えるのは、無駄です。
- なんで作動かないの?
- もうやだ!VBAなんか嫌い!
- ネットで調べても情報がない!
必ず作動するコードが、ここにあります。