YouTubeでも紹介しています ぜひご覧ください
主キーが設定されていて、主キーから、何かを検索するのは、カンタンです。
しかし、重複しているキーから、一意の値を探すには、どうするのでしょうか?
こんな疑問を解決します。
主キーなんて関係ねぇ!DAOを利用する
こんにちは。伊川です。
散々、主キーは、大切と言っておきながら、主キーなんで関係ないと言っていいものかと思っています。
すべて、クライアントの無茶から始まっています。
もう少し、要領がいい方法はなのかと思いながら、作成しました。
悲しいサラリーマンの性ですね。
では、紹介していきます。
このブログはこんな人にお勧め
DAOを、勉強している人
ACCESSでFor~Nextのループを利用したことがない人
クライアントの無茶振りに困っている人
このブログを、読み終わるころには・・・・
DAOは、ACCESSで利用できる技で、ざっくり言うなら、データベースを操作する技です。
ACCESSを操作するには、必要な知識です。
ループも含めましたので、是非参考にしてください。
DAOで検索する
ACCESSは、行に対しては、検索、抽出は、割とカンタンにでます。
しかし、列に対して、何らかのアクションをするには、結構、難しいと思います。
その列に対してのアクションを可能にするのが、DAOだと思っています。
今回紹介するコードに関しては、逆引辞典を参考にしました。
しかし、逆引辞典も、いきなり、利用できるわけではないので、ある程度、VBAを理解していないと利用できませんね。
なので、わかりやすく紹介したいと思います。
DAOで検索する 作業手順 その1 データベースを確認する。
今回、図のようなデータベースがあり、親IDが、A001と、B001です。
A001に紐づく値をすべて、フォーム上に表示するという内容です。
DAOで検索する 作業手順 その2 フォームを作成する。
今回作成するフォームは、すべて、非連結のテキストボックスで構成しています。
親IDは、txtテキスト_1~txtテキスト_5
子IDは、txt子テキスト_1~txt子テキスト_5
商品名は、txt商品名_1~txt商品名_5
このように名前を、付けました。
DAOで検索する 作業手順 その3 今回作成したコード
A001の親IDで検索して、カウントアップで書き出します。
紹介しているコードと、逆引辞典のコードは、似ていませんが、この理屈だと思いました。
なので、上記のコードで作動しました。
DAOで検索する 作業手順 その4 クライアントが無茶を言ってきた
フォームに表示した内容を、メールで送ってほしいとのことです。
Excelで添付したほうがいいのではと思いましたが、メールのテンプレートなどもすでに用意されています。
なんということか?
なので、テキストボックスの内容を書き出しました。
これも、考えてもわからなかったので、教えてもらいました。
自分でよく利用しているコードなのですが、理屈がわかりました。
ここの理屈を紹介すると長くなるので、割愛します。
DAOで検索する 作業手順 その5 まだ終わらない、メール送信
ACCESSから、Outlookを操作するには、Microsoft Outlook 16.0 Object Libraryにチェックを入れる必要があります。
めでたく終わりました。
ここがポイント
ACCESSで、逆引辞典を利用したのは、初めてでした。
このような内容は、ネットで、調べても、なかなかHITしないので、参考にしていただければと思います。
今回のポイントは、手動で操作をしていないということです。
つまり、親IDの入力以外は、すべて、クリックのみで完結しています。
これが、ヒューマンエラーを出さない秘訣です。
まとめ
今回は、DAOの紹介でした。
何度かDAOは、動画ブログで紹介していますので、是日、皆さんのスキルにしてください。