目次
変数を使って変幻自在の抽出
こんにちは。伊川(@naonaoke)です。
今回は、質問の内容を紹介します。
私のサイトに質問が来ました。
しかし、コメントを消してしまったので、記憶の範囲で紹介します。
問題提起
健康診断のデータベースがあります。
もし、年度が、2018の場合は、2018年、2017年のデータを抽出したい。
このような内容だったと思います。
紹介したのが、2019年なので、動画の年度と、ブログの年度がずれているのでご了承ください。
変数
この場合は、変数を使います。
変数とは、変幻自在の値となります。
中学校の数学でいうと、文字に値を代入するという事になります。
変数を使って抽出 作業手順 その1 抽出フォームを確認
上の図のようなフォームを作成しました。
変数を使って抽出 作業手順 その2 レコードの検索ボタンの仕掛け Part 1
もし、日時が、空白なら、本日に日付を入力する。
変数を使って抽出 作業手順 その3 変数を設定
aは、Date型の変数として宣言します。
そして、aは、非連結型の日時を指定します。
iは 数値型の変数である、Longを宣言します。
その宣言したiは、2020/4/22であると仮定します。
変数を使って抽出 作業手順 その4 2020が、本当に数字か確認します。
MsgBoxの重要性に関しては、上の記事で説明しています。
本当に、2020と表示されるのかをMsgBoxで検証します。
2020と表示されました。
もし、2020が数字であるならは、変数i に、1を加算すると、2021になるはずです。
VBAは、この検証を繰り返すのが重要なのです。
これで、検証は完了しました。
変数を使って抽出 作業手順 その5 検索コードを仕込む
少し長いですが、上のコードを記載します。
オマケ
オマケですが、レコードの検索ボタンをクリックした瞬間に、日時がクリアになります。
選択したレコードを解除するコードです。
ここがポイント
今回紹介した内容は、変数の基礎になります。VBAのコードに関しては、わかりやすい変数を設定することで、コードが可読しやすくなります。
可読しやすいという事は、メンテナンスが楽になります。
まとめ
動画の中では、クエリも説明していますが、変数を使っていないので割愛します。
最初は、上手く動かないこともありますが、自身で検証を繰り返してスキルアップしましょう。
今回のサンプルファイルは、No138です。
わからない事を延々と考えるのは、無駄です。
- なんで作動かないの?
- もうやだ!VBAなんか嫌い!
- ネットで調べても情報がない!
必ず作動するコードが、ここにあります。