MS Accessの機能追加を依頼されました!

こんにちは!いつもご覧いただきありがとうございます。
イマジネットPCサポートの橋崎です。
今月に入り納品させて頂いているAccessデータベースの機能追加をご依頼頂きました。
内容のご紹介は出来ないのですが、MS-Accessの事を簡単に紹介出来たらと思い、雑談風な内容で記事にしたいと思います。
お時間があればお付き合い下さい。
当店はオリジナルAccessデータベース作成を致しますが・・・
こちらにも記載しているのですが、現在は新規のオリジナルAccessデータベース作成依頼は受けれない体制です。
それならウェブサイトに載せるな!
と ごもっともなご意見もあると思いますが、一応実績として掲載させて頂いています。
ご了承下さいね!
オリジナルAccessデータベースのメリットとは!
何と言っても使用者の要望を叶える柔軟性でしょう!
例えば作成後しばらく使用して、やっぱり販売担当した個人別のデータが必要となれば機能を追加して、その販売金額等データの集計を取り、様々な経営判断材料になるでしょう!
営業マンが販売しているような基幹業務システムであれば、そのようなカスタマイズには対応可能だと思いますが、(全てのメーカーが対応可能ではありません。)内容により高額となるでしょう。
店頭やダウンロードして購入するパッケージシステムは基本的にはカスタマイズ不可でしょう。(全てのメーカーが対応不可ではありません。)
当店のようにAccessでオリジナルシステム作成サービスを提供しているお店のシステムはカスタマイズは可能だと思います。料金は安くはないと思いますが・・・
当店ではお求めやすいお値段です!
AccessはあくまでOfficeなので作成方法の取得は容易です。書籍も豊富ですしネットでも様々な無料講座があります。当店でも学習におすすめサイトをご紹介しています。
自分で作成・カスタマイズ出来るようになれば基本的には無料です。
ちょっと違う角度で機能紹介
Accessはデータを蓄積して使用するソフトなので、どうしても「データの正規化」や「主キー」の概念などの説明から入っていくのですが、正直あまり面白くありません。
ですから面白そうな機能をご紹介します。
本当に勉強したい方には全く役に立たないかも知れませんので先にお断りしておきます、怒らないで下さいよ!
Accessはイベントドリブン型ソフト
イベントドリブンとは
例えばマウスをクリックした時にプログラムを実走させると言ったトリガーになる行動の事を言います。(あってる?)これから紹介する内容はマウスをクリックする行為がトリガーですね!
1.フォームデザインビューの「詳細バー」を選択してプロパティシート「イベント」タブに「クリック時」「ダブルクリック時」と様々なトリガーが用意されています。

2.今回はわかりやすく「クリック時」に何かするようにしましょうか。プルダウンから「イベントプロシージャ」を選択して横の点3つボタンを選択します。

3.すると何やら難しそうなエディタが開きましたが、気にせずに四角だけに注目しましょう。この四角の文章はフォームをクリックした時に行うプログラムの開始文と終了文です。
Private Sub 詳細_Click()←開始
End Sub←終了

今は何も記載されていないのでフォームをクリックしても何もおきません。
4.こんな感じでどうでしょう?
Private Sub 詳細_Click()
Msgbox “たまちゃんおはよう!”
End Sub

5.動きを確認してみましょう!
フォームをフォームビューに変更してフォームをクリックすると

標準のメッセージボックスに「たまちゃんおはよう!」と表示されています。
6.今度はダブルクリック時にこのように記載します。(クリック時のイベントプロシージャはダブルクリックの前に走ってしまうので削除しています。)

フォームをフォームビューに変更してフォームをダブルクリックすると

少しだけ解説
記載方法(入力ルール)等あまり細かい事はこの記事では解説しません。
各文の動作は以下の様になっていますが、何となくわかるでしょう!
Private Sub 詳細_Click()←詳細フォームをクリックしたら以下の内容を開始する。
Msgbox “たまちゃんおはよう!”←メッセージボックスに「たまちゃんおはよう!」と表示する。
End Sub←メッセージボックスに「たまちゃんおはよう!」と表示したらここで終了。
IF文を使ってちょっとプログラムらしく
IF文はご存知の方も多いと思います。Accessに限らずExcelでも良く使いますからね!
実際に作成するとIF文だらけですよほんとに
簡単に説明すると動作を分岐して指示を分けるとでも言いましょうか!
もしホニャララの場合はホニャララ
それ以外はホンジャマカ

・・・
これも簡単な動作で説明した方が早いですね!
1.フォームクリック時に以下の様に記載しました。(決してふざけている訳ではありません。)
If MsgBox(“ルパンの彼女は?” & Chr(13) & “不二子ちゃんの場合は「はい」” & Chr(13) & “しずかちゃんの場合は「いいえ」を選択”, vbYesNo) = vbYes Then
MsgBox “正解だぜ次元”
Else
MsgBox “不正解だよのび太くん”
End If

2.動作を確認してみましょう!
フォームをクリックすると

ルパンの彼女を当てる質問がメッセージボックスに表示されています。
不二子ちゃんの場合は「はい」を選択してみましょう!

正解でした。
次にしずかちゃんの場合「いいえ」を選択してみます。

このように選択肢により結果を分ける事が出来るようになりました。
少しだけ解説
記載方法(入力ルール)等あまり細かい事はこの記事では解説しません。
各文の動作は以下の様になっていますが、何となくわかるでしょう!
全文
If MsgBox(“ルパンの彼女は?” & Chr(13) & “不二子ちゃんの場合は「はい」” & Chr(13) & “しずかちゃんの場合は「いいえ」を選択”, vbYesNo) = vbYes Then
MsgBox “正解だぜ次元”
Else
MsgBox “不正解だよのび太くん”
End If
解説
If MsgBox(“ルパンの彼女は?” & Chr(13) & “不二子ちゃんの場合は「はい」” & Chr(13) & “しずかちゃんの場合は「いいえ」を選択”, vbYesNo)→メッセージボックスにvbYesNoを付け加える事でメッセージボックスに「はい」「いいえ」が表示されるようになり、それで操作を分岐させています。
= vbYes Then→「はい」を選んだ場合はこちらに来ます。
MsgBox “正解だぜ次元”が表示します。
Else→「はい」以外を選択した場合はこちらになります。
MsgBox “不正解だよのび太くん”が表示されます。
Elseについては色々な表現方法がありますが、長くなるので省きます。
& Chr(13)は改行するためのものです。
なくてもかまいませんが、メッセージボックスが読みやすくなります。
まとめ
今回はお客様からデータベースの機能追加を依頼された件で思い立ち簡単なAccessの機能を紹介しました。
難しい事から始めるよりも何か楽しみながらの方が良いと思い、身近な内容で紹介してみたのですが如何でしょうか?
このような機能をどの場面で使うのか?
そのそうな声が聞こえそうですが、それを考えるのは自身です。
実際に作成すると本当に苦労するのは処理内容を考えるより、使用する人の操作を制御してエラーを発生させない事なんですよ!
ほんとに 中にはどうやったらそんなエラー出せるの?
と こちらか聞きたいぐらいの操作をしますからね!
ではまたです!

大阪府八尾市を拠点に大阪府・奈良県・京都府南部を中心にパソコン出張サポートを20年近く自営で行っています。パソコン・周辺機器のトラブルやご相談はお気軽にお問い合わせください。
詳しくはこちらから