電子書籍の厳選無料作品が豊富!

かなりのAccess初心者ですが、
簡単な社員のデータベースを作ろうと思っています。

以下のようにしたいのですが、設定方法がわからず困っています。

「社員マスタ」「社員情報マスタ」というテーブルがそれぞれある

フォームで社員番号、氏名、住所を入力

社員番号と氏名が「社員マスタ」「社員情報マスタ」の2つのテーブルに反映

リレーションシップで「社員マスタ」と「社員情報マスタ」の
社員番号と氏名をつないでみたのですが、これでは意味がないでしょうか?

初心者のため足りない情報等あるかもしれませんが、
設定方法を教えていただけますと助かります。
よろしくお願いします。

A 回答 (1件)

社員番号、氏名、住所の入力用フォームを「フォーム1」とします。


フォーム1のレコードソースには何も指定せず、入力用のテキストボックスを非連結で作ります。
テキストボックスの名前をそれぞれ「Tx社員番号」「Tx氏名」「Tx住所」とします。
入力されたデータをテーブルに登録するためのボタン(登録ボタンとします)を作ります。
ボタンを作る場合は、デザインツールからボタンを選択し、「コマンドボタンウイザード」が表示されたら
そのまま「キャンセル」を押してください(標題は後から任意に付けられます)。

次に登録用の追加クエリを「社員マスタ」「社員情報マスタ」用の2つ作ります。
・メニューバーの「作成」→「クエリデザイン」をクリックし、「テーブルの表示」では何も選択せずに閉じます
・クエリの種類を「追加」に変更し、テーブル名に「社員マスタ」を指定します
・クエリの「レコードの追加」というところにテーブルの「社員番号」右となりに「氏名」を選択します
・「フィールド」というところに、社員番号であれば 式1: [Forms]![フォーム1]![Tx社員番号] と記述します
 氏名では 式2: [Forms]![フォーム1]![Tx氏名] とします
・「社員情報マスタ」用のクエリも同様に作成します(こちらへは住所の追加も作っておきます)

フォームに作成した登録ボタンの「イベント」→「クリック時」を選択し、右端の「…」から
マクロビルダーを選択します。

「新しいアクションの追加」で「クエリを開く」を指定し、クエリ名を先ほど作った追加クエリ
例えば「Q社員マスタ」を指定します。
次の「新しいアクションの追加」で 社員情報マスタ用のクエリも同様に追加します

これで「登録ボタン」をクリックすれば「社員番号」「氏名」は社員マスタと社員情報マスタに、
「住所」は社員情報マスタに保存されます。

クエリを実行する際にシステムメッセージが表示されますが、これを非表示にするには、
マクロビルダーで「すべてのアクションを表示」をクリックし、「メッセージの設定」→「メッセージの表示:いいえ」
を最も上の行に作り、クエリの実行の後に「メッセージの設定」→「メッセージの表示:はい」を作っておきます。

「メッセージの設定」→「メッセージの表示:いいえ」
「クエリを開く」→「クエリ名:社員マスタ用の追加クエリ」
「クエリを開く」→「クエリ名:社員情報マスタ用の追加クエリ」
「メッセージの設定」→「メッセージの表示:はい」

このようになります。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!