• ベストアンサー

ACCESSのご質問(初歩的なことかもしれませんが)

ACCESS初心者の質問にお付き合いいただければ幸いです。 テーブル定義情報を書類で残そうと思います。 テーブル名、項目名、データ型、コメント テーブルデザインで表示された情報をコピーしたいのですが 一個ずつしかできません。まとめてコピーする方法はありますか? 2.社員テーブルと担当者テーブルを作りました。  社員テーブル:社員番号、氏名  担当者テーブル:社員番号、担当業務  キー項目は両者とも「社員番号」で重複なしです。  「社員番号」同士で、1:1のリレーションをはりましたが   このやり方ではなく    社員テーブル に「担当業務項目」を設けるというやり方。   のどちらにするか迷っています。   まだ運用前なのでどちらにもできます。  フォームの作りこみが簡単なのは、「テーブルを分ける」やり方です。  また、一人が複数の担当を持つ場合も考えられます。  そのときのことを考えて、やっぱり、担当者テーブルを別にもうけ、  また、キー項目を「社員番号」ではなく「担当者コード」を別途設けるべきかな、、と思い始めています。   以上、とりとめがなく恐縮ですが、お付き合いいただければ幸いです。

  • Yepes
  • お礼率94% (1652/1746)

質問者が選んだベストアンサー

  • ベストアンサー
  • 30246kiku
  • ベストアンサー率73% (370/504)
回答No.2

資料化には、以下ツールを使ってみてはどうでしょう (フリーソフトです) AccessMDB解析ツール http://www.vector.co.jp/soft/win95/business/se397540.html

Yepes
質問者

お礼

解析ツールのご紹介ありがとうございます。とても使いやすいです。3時間分の残業がなくなりました。感謝です。

その他の回答 (1)

  • kuroizell
  • ベストアンサー率55% (95/170)
回答No.1

Excelで作ってCSVにして、後からAccessにインポートしてみてはいかがでしょうか。 厳密に1:1の関係にないデータは、別テーブルにする方がいいですよ。 担当業務は、兼務もあれば交代もあります。 交代したとき、歴代担当者の履歴を残すなら、別テーブルでないと大変です。 「データの正規化」で検索したら、データベースの基礎知識が学べると思います。

Yepes
質問者

お礼

ありがとうございます。別テーブルにしました。やはり何が変わるかわからない状況ですから。。

関連するQ&A

  • ACCESSの初歩的な質問です。

    基本的な質問で申し訳ありません。 テーブルAとテーブルB両者のデータベースからIDをキーにして一致しない情報を抽出したいと考えているのですが。 テーブルAを基準にして一致しないレコードAは抽出条件から取り出せるのですが、同じクエリを使用してテーブルBの情報レコードBを取り出せないでしょうか? 簡単に言えばIDをキーにして変更前と変更後の情報を抽出したいのですが。

  • アクセスからエクセルのフォーマットへ出力

    初心者につき、ご教示ください。 アクセスのテーブルのクエリから エクセルのフォーマットをコピーして出力したいのです。 例) オブジェクト種別:オブジェクト名:フィールド名 テーブル1:TBL_社員情報:社員番号・氏名・所属・入社年月・退職日・・ テーブル2:TBL_所属情報:社員番号・所属・グループ・業務担当・主務or兼務・・ 出力用クエリ:QRY_エクスポート:社員番号・氏名・所属・グループ・業務担当 エクセルのフォーマット名:所属申請:社員番号・氏名・所属・グループ・主務・兼務 ※主務と兼務はそれぞれ分けた申請になるため、同一社員で複数の申請書が必要になります。 →申請書の様式はありますが、新しいシート(もしくは フォーマットのエクセルに、もともと空シートを作っておいて、そこ)にデータを出力する・・のであれば、申請書の様式が変更になっても使えるものになると想定しています。 単にクエリをエクスポートするだけであれば DoCmd.RunSavedImportExport で、設定できるのは理解しているのですが フォーマットを必要分コピーして別名保存(例えば「社員番号+部署」)するとなると知識が足りません。 ご理解の深い方、お分かりになりましたら ご教示いただけますと幸いです。 よろしくお願い致します。

  • クエリの質問です。

    Windows2000/Access2000 AとBのテーブルがあり、ID番号が主キーでリレーションが設定されてます。 AのテーブルにはID番号・ユーザー名・住所・商品番号があります。 BのテーブルにはID番号・ユーザー名・住所・商品番号・受注年・月・日があります 。 Bのテーブルと同じ商品番号の値を持つAのレコードを抽出させたいのですが、抽出条件をどのように設定したら良いのか分かりません。 初歩的な事ですがアドバイス宜しくお願い致します。

  • アクセスの追加クエリで教えてください

    Access2000を使用しております。 テーブル「社員」のデータをテーブル「社員テスト」 にそっくりコピーしたいと思います。 「社員」には社員コードと社員名、「社員テスト」に は社員コードと社員名と退職フラグがあったとします。 退職フラグにはリレーションが設定しており「社員」 を元に作成した追加クエリを実行すると、キー違反で 登録されません(当然、Null値がだめなのは分かって いるのですが・・・)。 更新クエリで更新しようとばかり思っておりましたの でどうしようか困っております。 どなたか解決法を教えてください。 よろしくお願いします。

  • ACCESSの初歩的質問です。

    ACCESS・2010で、お客様の管理をしようと思っています。 新規のお客様の数は年間1000名ほどです。 つまり、年間1000人分ほどのデータが増えるということです。 お客様お一人のデータは多岐に渡ります。 お名前・生年月日・住所などに始まり、いつご来店されてどのようなご相談があったのか、その時においくら請求させてもらったのか、などなど、挙げていけばかなりの数になり、100項目以上になります。 つまり、お一人様につき100項目以上のデータを格納します。 ご来店がなかったと思ったら数年ぶりに来られるケースも多数あり、過去のお客様のデータを消すわけにはいきません。 このような状況で、今後ACCESSを使ってデータベース管理をしようと思っています。 全くの初心者です。 上記のようなケースですと、どのようにデータを記録していけばよいのでしょうか。 たとえば、お客様お一人にテーブル1つを割り当てたほうがよいのでしょうか、 それとも、一つのテーブルに複数のお客様のデータを割り当てるべきなのでしょうか、 あるいは、お名前だけを入力するテーブル、住所だけを入力するテーブル・・・などのように データごとにテーブルを用意するべきなのでしょうか。 どのようにデータを入れておくとあとで操作しやすいのかがよく分かりません。 ご経験のある方、アドバイスをお願いします。

  • ACCESSでの別のテーブルのデータの参照方法

    ACCESS初心者です。 教えてください。 「支払」テーブル、「担当表」テーブルがあります。 「支払」テーブルには、 ID(主キー)、サービス名、金額、支払日 「担当表」テーブルには、 ID(主キー)、サービス名、担当者 という項目があります。 この二つのテーブルは「サービス名」で連結してます。 今「支払」テーブルの入力フォームを作っていて、サービス名をプルダウンで選択出来るようにしたのですが、出来れば選択したら自動的に該当する担当者の名前を表示したいと思っています。 担当者名を表示するためのテキストボックスを作成し、プロパティでいろいろいじってみましたがどうもうまく行きません。 すごく基本的な質問で恐縮ですが、どうか助けてください。 宜しくお願いいたします。

  • Access2010 クエリー

    こう言うQueryは出来ますか? 社員テーブル 社員番号 社員名 製造関係者テーブル 製品番号 設計者#1 製造者#2 検査者#3 (各担当者はそれぞれ別で、全て社員テーブルに登録されています。) 欲しいQuery、 各社員番号#で社員テーブルから社員名を拾って 製品番号 設計者#1 設計者名 製造者#2 製造者名 検査者#3 検査者名 よろしくお願いします。

  • ACCESSの初心者質問(テーブル設計)

    こんにちは。表題の件アドバイスいただければ幸いです。 ユーザからの問合せ管理システムを作っていますが、その中で カテゴリの項目群があります。(親、子、孫の3階層です) フォームの中で。大カテゴリ(親)>中カテゴリ(子)、小カテゴリ(孫)の順に絞り込んでいくのですが、カテゴリのテーブルを以下のように作成しました。(テーブル名:項目名) 大カテゴリ:大カテゴリ 中カテゴリ:中カテゴリ、大カテゴリ 小カテゴリ:小カテゴリ、中カテゴリ 中カテゴリ、小カテゴリを絞り込む際、それぞれ、上位カテゴリの値を参照して絞り込んでいきます。 ここからが質問です。 大カテゴリ、中カテゴリ、小カテゴリ の項目を 1.問いあわせ管理テーブルの中に作るべきか それとも、 2.「問合せ管理番号、大カテゴリ、中カテゴリ、小カテゴリ 」と、カテゴリテーブルを独立させて作り、メインの問合せ管理テーブルとリレーションをはるべきか 前者を選択して作っていたところ、ACCESSの達人のユーザから  「お前はなんて無駄なことをしてるんだ、正規化しなさい。  データベースの教科書を読んで理解できるまでは使うな」 と言われました。 悩んだ末、考えたのが 大、中、小のカテゴリをひとつのテーブルにし、組み合わせ番号をキーとして、「問合せ管理テーブル」にキー項目を入れる、というやり方です。パフォーマンスはあがりましたが、フォーム上での 大>中>小の絞込みの方法が分かりません。 (大、中、小のクエリを作って、フォームに取り込む、という方法をとってみましたが、うまくいきませんでした。) おそらく、基本的な正規化の理解ができていないため、右往左往しているのでしょう。どなたかアドバイスいただければ幸いに存じます。

  • アクセスで、1つのフィールドに2つのリレーションをかけると。

    メールのデータベースを作っています。 T_メール本体のテーブル (フィールド項目は) ID(主キー) 宛先名 件名 本文 T_CCリストのテーブル (フィールド項目は) メールID(主キー) ID 宛先名 T_BCCリストのテーブル (フィールド項目は) メールID(主キー) ID 宛先名 これに、T_メール本体のIDとT_CCリストのIDをリレーションさせて さらに、T_メール本体のIDとT_BCCリストのIDをリレーションさせると いうのは可能でしょうか?こうすると、表示は出来ますが、入力及び更新が出来なくなるのですが。 以上、よろしくお願い致します。

  • Accessクエリの作り方

    OS:Windows2000 Access Version:Access2002 大変基本的なことで申し訳ないのですが、どなたか教えてください。 以下のようなテーブルがあります。 ●問合せテーブル 受付NO 受付日 受付時間 社名 担当者名 ・ ・ 機器コード1 機器コード2 問題コード1 問題コード2 対応状況コード ●機器テーブル 機器コード 機器コード名 ●問題テーブル 問題コード 問題コード名 ●対応状況テーブル 対応状況コード 対応状況名 これらのテーブルを使って、単純にクエリで ●問合せクエリ 受付NO 受付日 受付時間 社名 担当者名 ・ ・ 機器名1 機器名2 問題名1 問題名2 対応状況コード としたいのです。 対応状況は、問合せテーブル内でもひとつなので、簡単にクエリで表示できるのですが、機器1・2、及び問題1・2はふたつあり、どのようにすれば名称がそれぞれ表示できるのかが分かりません。 テーブルのリレーションシップで、 対応状況テーブルと問合せテーブル はリレーションが張れました。 機器テーブルと問合せテーブルにリレーションを張ろうと思い、テーブルを追加して、2つ機器テーブルを表示させ、リレーションを張ってみましたが、それをクエリで編集しようとするとデータが参照できないのか、エラーもなく、クエリが開くだけになってしまいます。問題テーブルも同様です。 本当に初心者のお話で申し訳ないのですが、どなたか教えてください。 よろしくお願いします。

専門家に質問してみよう