Home Access(アクセス)

企業研修講師派遣のBESTグループ
出張パソコン教室ITスクール
webコンサルティングスクール
パソコンの家庭教師BEST

0 5125

Q:アクセス2007で、リレーションシップの登録をする方法を教えてください。

リレーションシップとは、個々のテーブルがどのように関わり合っているかを線をつないで、登録することによって作られます。
リレーションシップは登録しなくても、データとしては使えるのですが、必ず登録するようにしてください。データの矛盾を防ぐことができますし、クエリーを作るときにも解りやすいです。
何より、リレーショナルデータベースの特徴がここに集約されているのです。

「データベースツール」のリレーションシップを選んでください

白紙のウィンドが出ます。
メニューから-「デザイン」-「テーブルの表示」を選びます

ここで、すべてのテーブルを追加で、下のウインドに出します。

【例】勤務先番号を例にとって説明します。
勤務先番号を1クリックでドラッグしてもう一つの勤務先番号の上でドロップします(どちらからでもかまいません)

参照整合性にチェックを付けます。
「結合の種類」ボタンをクリック

データが1対1になる場合は、一番上になります。
「OK」ボタンで登録して、作成ボタンで、作成します。

このように、リレーションシップを登録します。

最後にウィンドを閉じて、リレーションシップのレイアウトの変更を登録して、終わりです

少し複雑かもしれませんが、重要な部分です。
作っているうちに、慣れてきますので、あまり難しく考えないでください。

フィールドの連鎖更新とフィールドの連鎖削除のついて、話をしておきます。
リレーショナルデータベースの場合、リレーションシップで登録しているコードが複雑な関係で、相互に影響をあたえます。
たとえば、片方のデータのコードを変更すると、相手に存在する同じコードも自動で変更してくれるのが連鎖更新です。一方のデータが削除された場合、その下に存在する、明細的なデータを自動で削除してくれるのが、連鎖削除です。連鎖削除の場合、連鎖データを削除していいかどうかの、確認画面が出てしまいます。

ただ、こういった重要なコード変更や削除はプログラマー自身がプログラムの中で、自分で管理しなければいけないものだと考えます。データベースに任せてしまうべきものではないのです。
したがって、サンプルプログラムでは、この機能は使いません。
 

0 6921

Q:アクセス2007の帳票入力フォームについて教えてください。

フォームには、帳票フォームと単票フォームの2種類あります。
ここでは、帳票フォームを使った入力を説明します。
帳票フォームは、一覧表になっていて、次の行に移ったときに、データが1レコード登録される仕組みになっています。
フィールド数が少なく入力チェックは必要ないようなデータ入力に使います。
 

Q:アクセス2007VBAの命令に関するプログラミングについて教えてください。

フォームをメニューから呼び出したり、閉じたりボタンをクリックした時に、何をさせるかという命令をマクロを使って記述していきます。

仮定として、以下をを使ってみます。
クエリー:「qu区分削除」
フォーム:「fo区分」「fo区分削除選択」
マクロ:「ma区分」

まず、マクロの「ma区分」のデザインを見てください

マクロ名と条件の列がない場合は、上のメニューの「デザイン」の、マクロ名と条件をクリックしてください。
マクロは、多くの場合フォームから呼び出して実行します。
たとえば、「ma区分.削除選択を開く」というマクロを呼び出すと、アクションの所にかかれている、処理を上から順番に実行していきます。
一連の処理をいくつでも処理させることができます。

マクロには、たくさんの処理があります。今ここで全てを説明できませんし、全てを覚える必要もありません、サンプルプログラムでの使い方を真似して、コピーして使っているうちに慣れてきますし、サンプルで使っていないものも使えるようになるでしょう。

次に、フォーム「fo区分」のデザインを見てください

フォームの下にウィンドが1つありますが、フォームで使ういろんなコントロールの設定をするためのプロパティなので、常に開いておきます。
開いていない場合は、上のメニューから「デザイン」-「ツール」-「プロパティ」で開いてください。

フォーム全体の設定をします。
終了ボタンの1センチ右のあたり(何もない所)をクリックします。
すると、プロパティのウィンドの表題がフォームになります。フォーム全体の設定ができます。
ここで、見るべき項目は次のものです。
[レコードソース]:入力したいテーブル(あるいはクエリー)の名前をコンボボックスから選択
[表題]:ウインドの左上に出る、フォームの表題
後の項目は、変更する必要は無いでしょう。

ここで大事なことは、帳票フォームを新しく作るときは、以前作ってある帳票フォームをコピーして[レコードソース]と[表題]を変更して作るということです。
新規でフォームを作成すると、もっとたくさんの項目を設定していかなければいけません。
[レコードソース]と[表題]を変更した後、入力項目のコントロールソースを変更するだけで、簡単に帳票フォームは新しく作ることができます。

プロパティの下の方に、○○時というのがたくさん並んでいます。
これは、このフォームで起こるイベント(マウスがクリックされる、閉じる、開く等・・・)の項目が並んでいます。これらの項目発生時にどう処理するかということを指定することによって、プログラムが構築されていきます。
全てのコントロール(フォーム、フォームの中の入力コントロール、ボタン等)に内容は少しずつ違いますが各種イベントがあります。
その内容、使い方に関してはサンプルを見ていただければ、だいたい解ると思います。
全てを最初に理解する必要はありませんし、ほとんど使わないようなものもあります。

それでは、フォームに貼ってある、コントロールを見てみましょう。

・ラベルコントロール
フォームヘッダーにある、区分名のところをクリックしてみてください。
プロパティのウィンドの表題がラベルになっています。ラベルのコントロールです。
これは、入力項目が何であるかを教えるための文字を表示するためのコントロールです。
フォームに中に文字を表示するためのものと考えて下さい。
このコントロールのプロパティの見るべき項目は、次のものです。
[標題]:表示したい文字です。
[名前]はAccessが自動で付けてくれますので、そのままでいいです。
他に、色の設定等がありますが、これはプログラムを作る人の好みですので、気に入ったものをいくつか作っておいて、コピー貼り付けで使えば修正する必要はありません。

・テキストボックスコントロール
詳細にある、区分名のところをクリックしてみてください。
プロパティのウィンドの表題がテキストボックスなっています。データが入力され、実際にデータが表示されるコントロールです。
一番よく使われるコントロールです。
このコントロールのプロパティの見るべき項目は、次のものです。
[名前]:コントロールソースと同じにしておいてください。
[コントロールソース]:コンボボックスから選びます
[書式]:ここは、日付、数値などによって様々なものが入ります。サンプルを参照してください。後でたくさん出てきますので、後で確認できます。文字列の場合は特に入力する必要はありません。
[定型入力]:日付の入力の時などに使います。
[規定値]:ここで指定しておくと、入力前から指定したものが入っています。たとえば生年月日の和暦を入力する欄などでは、昭和を規定値にしておくと実際昭和の人が多いですから、コンボボックスから選ばなくても、そのまま通過できて、入力が早くできるといったものです。
[IME入力モード保持]:いいえにいておきましょう
[IME入力モード]:漢字で入力する場合は、ひらがなにしておきます。オンは使わないでください。データベースをバージョンアップした時に、半角カナとかに変わってしまう場合があります。数値入力の場所は、使用不可にしておきます。オフと使用不可の違いは、オフの場合はキーボードから漢字のボタンを押すと漢字が入力出来てしまいますが、使用不可の場合は漢字ボタンに反応しませんので、漢字入力は不可能です。
[ふりがな]:名前を入力したときに、ふりがなの項目に自動でフリガナを転記してくれます。後の説明で出てきます。
[住所入力支援]:郵便番号を入力すると自動で住所が転記されます。次回の住所録のバージョンで追加予定です。
[可視]:ここをいいえにしておくと、デザイン画面でしか見えません。集計用の日付のコントロールで使っています。後の説明で出てきます。
[使用可能]:いいえにすると、見えるけれど、マウスでクリックしても止まらない項目になります。
[編集ロック]:はいにすると、マウスでクリックすると止まりますが編集はできない項目になります。
[タブストップ]:いいえにするとタブキーで移動していっても、止まりません。フォームの詳細の中のボタン(通常の入力では使わないけど、何かを検索するときだけ押されるボタン等)を貼ってある場合等では便利です。マウスでクリックすれば使えます。

他に、色の設定等がありますが、ラベルコントロールと同じで、プログラムを作る人の好みですので、気に入ったものをいくつか作っておいて、コピー貼り付けで使えば修正する必要はありません。

ここにも、イベント発生時の処理を指定する項目があります。
後の説明で出てきます。

・コマンドボタンコントロール
詳細にある、削除のボタンをクリックしてみてください。
プロパティのウィンドの表題がコマンドボタンなっています。
ここでは必要なときだけ、マウスでクリックしてもらいます。したがって、[タブストップ]はいいえになっています。
このコントロールのプロパティの見るべき項目は、次のものです。
[名前][標題]:同じにしておきましょう。(見栄えをよくするために標題の方にスペースを入れたりする場合有り)
フォームフッターの、終了ボタンをクリックしてみてください。
標題に&Xと付いています。これは、Altキーを押したまま、Xのキーボードを押すと、マウスを移動してそこをクリックしなくても、このボタンがクリックされたのと同じ結果になる、いわゆるショートカットキーの設定です。マウスを使わなくても通常の登録がどんどんできるようにするためのものです。

これは、ボタンですので、クリックされたときに、必ず何か処理があるはずです。
削除ボタンの場合、クリック時にマクロの削除確認のフォームを開くように指定してあります。
終了ボタンでは、自分自身のフォームを閉じるマクロが指定されています。
イベントの発生と処理の書き方が、おわかりいただけたでしょうか?

メインメニューで区分登録のボタンがクリックされた時のクリック時に、このフォームを開くマクロが指定されています。
そこで、このフォームが開きます。
データを入力したり、編集したりします。
終了ボタンがクリックされると、このフォームが閉じられて、下にあるメインメニューに戻るといった具合です。
 

0 6526

Q:アクセス2007の削除クエリについて、教えてください。

削除処理で使っている、削除クエリーについて説明しておきます。

その前に、削除の確認フォームを作っています。
削除ボタンがクリックされた瞬間に削除されてしまっては、困ります。
「何かな?と思ってクリックしたら、消えてしまった」ということになりかねません。
削除とか、データ更新のような、大事な処理の前には、確認画面が必要です。
「はい」、「いいえ」だけを確認するのはフォームを作らなくてもできるのですが、今後の学習に使いますので、あえてテーブル毎に削除選択画面を作っています。

簡単なフォームです。
フォーム「fo区分削除選択」のデザインを見てください。
標題だけ設定されていて、レコードソースがありません。
レコードソースが無いフォームもあるのです。

コントロールも2つのボタンとメッセージのラベルだけです。
削除するか、中止するかだけの処理しかしません。
こういった、小さなメニューのようなフォームはよく使いますので、これを複製して作ってください。

それでは、削除クエリーに移ります。
「削除する」ボタンをクリックした場合、マクロから、クエリーの「qu区分削除」が呼び出されて、実行されます。

それではクエリー「qu区分削除」のデザインを少しながめて、閉じて下さい
実際に同じものを作ってみます。
クエリーも、テーブルと同じで、新しいプログラムを作る時には、1つずつ作っていかなければなりません。

削除クエリーは次の手順で作ります
データベースウィンドでクエリーを選びます。
新規作成をクリック。
ウィンドが開いて、一番上のデザインピューが規定値で選ばれていますから、OKボタン
テーブルの「ta区分」を選んで、追加ボタン
閉じるボタンで、テーブルの表示ウィンドを閉じます。
テーブルの表示ボタンは、上のメニューから「デザイン」「クエリ設定」の中の「テーブルの表示」でいつでも出せます。