アクセス2003 テーブルの設計について

このQ&Aのポイント
  • 工事管理システムを作成しています。月ごとの担当者ごとの今月売上金額や今月粗利金額を手入力でテーブルに保存(格納)しておきたいですが、テーブルの設計が分からず困っています。
  • 今月販売テーブルのフィールド名は年月、担当者名、今月売上金額、今月粗利金額です。年月には[2013/10][2013/11]と年月を入力して準備しています。複数の担当者がいるため、担当者名を入力して準備すると[2013/10 田中][2013/10 山田]とひと月×担当者の人数が必要になります。
  • 質問者は「今月販売」フォームで入力したい年月と担当者名を選択して入力できないか考えています。
回答を見る
  • ベストアンサー

アクセス2003 テーブルの設計について

工事管理システムを作成しています。 月ごとの担当者ごとの今月売上金額や今月粗利金額を手入力で テーブルに保存(格納)しておきたいのですが、テーブルの設計が分からず困っています。。 ■今月販売テーブル [フィールド名] 年月 担当者名 今月売上金額 今月粗利金額 年月には[2013/10][2013/11]・・・と年月を入力して準備しています。 複数の担当者がいるために担当者名を入力して準備すると [2013/10 田中][2013/10 山田]・・・・とひと月×担当者の人数が必要になります。 また、担当者が増えた場合に手間が発生してしまいます。 元々の考え方が間違っていると思いますので、アドバイスをいただけたらありがたいです。 「今月販売」フォームで入力したい年月と担当者名を選択して入力出来ないかと考えています。

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

  • ベストアンサー
  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.1

質問の内容だけでしたら考えられたテーブルの設計で構わないと思います。 ただ、ゆくゆくは担当者の詳細も・・・なら 担当者テーブル ID 主キー 氏名 役職 電話 ・・・ のようなテーブルを作成することになるかと思います。 同姓同名の方が入社してきても、これなら大丈夫です。 販売テーブルは担当者ではなくIDで登録するようになります。 毎月の入力を省力化するためには 年月 担当者 2013/10 yamada 2013/10 sato ・・・ ・・・ という種テーブルを作成しておいて 毎月の入力時に更新クエリで年月フィールドを変更します。 この種テーブルを利用して追加クエリを INSERT INTO 今月販売テーブル(年月,担当者名) SELECT 年月,担当者 FROM 種テーブル とすれば、その月の年月と担当者フィールドは埋まりますので 少し楽ができます。 一つの案としてですけど・・・。 こちらも http://support.microsoft.com/kb/283878/ja 人間が見て分かりやすい ≒ データベースとして適切 テーブル設計は大事な土台ですので、紙に鉛筆であれこれ書いて じっくりと考えてみてください。

その他の回答 (1)

  • chayamati
  • ベストアンサー率41% (254/607)
回答No.2

失礼とは存じますが、Accessは初めての方ですね Excelとの違いをご理解して頂くための提案です。 この仕組みは1年の寿命ですが 少し違いがご理解いただければ、 早ければ、1週間以内に新しいいシステムを思いつかれることと思います nicotinism 様の仰る通り担当者テーブルは用意しておきましょう 担当者名を手入力にすると姓名と氏名の間にスペースの有る無し、 半角スペース、全角スペース等は別人として取り扱われます。 また入力ミスを誘引する事にもなります。 販売テーブルはQのテーブルにIDを加えた ID ‥‥‥主キーAccessで自動で定義されます 年月 担当者名 今月売上金額 今月粗利金額 尚、EXCELスタイルにすると 次のようになります。 販売テーブルのフィールド ID ‥‥‥主キーAccessで自動で定義されます 担当者名 1月売上 1月粗利益 2月売上 2月粗利益 3月売上 3月粗利益 4月売上 4月粗利益 5月売上 5月粗利益 6月売上 6月粗利益 7月売上 7月粗利益 8月売上 8月粗利益 9月売上 9月粗利益 10月売上 10月粗利益 11月売上 11月粗利益 12月売上 12月粗利益 >「2013/10 田中][2013/10 山田]・・・・とひと月×担当者の人数が必要になります。 取り敢えず、氏名のように入退社、人事異動で変動のある項目は設定しない >年月には[2013/10][2013/11]・・・と年月を入力して準備しています。 理解できません。テーブルを設定しているのですか

akumaou
質問者

お礼

chayamati様 アドバイスありがとうございます。 テーブルをエクセルと同様に考えることが間違いだと気づきました。 ありがとうございます。

関連するQ&A

  • ACCESS ピボットテーブルではなく・・・

    まだまだACCESS初心者ですが、どなたか教えてください。 エクセルで管理データを作成中です。 以下のようにテーブルにコードと担当者を入力しています コード 担当者 A11 山田 A13 井上 A15 田中 A11 鈴木 A13 吉田  ・   この入力をコードごとに コード 担当者 担当者(2) A11 山田  鈴木 A13 井上  吉田 A15 田中  ・   と表示をすることはできないでしょうか・・・。 ピボットテーブルではなく、テーブルやクエリなどで表示をしたいのですが上手くいきません。できるかできないかも分からないのですが、よろしくお願い致します。

  • ACCESSでのテーブル設計と検索

     テーブル業者(ギョウシャメイカタカナ)と、テーブル担当者(タントウシャメイカタカナ)と、テーブル商品(ショウヒンメイカタカナ)と、  *テーブル案内履歴(ギョウシャメイカタカナID)(タントウシャメイカタカナID)(ショウヒンメイカタカナID)があります。*  ()内は保存してあるフィールド名です。  対応したフォーム、フォーム業者、フォーム担当者、フォーム商品、フォーム案内履歴、も作りました。  テーブル担当者は、現在フィールド名、(ギョウシャメイカタカナID)を使いテーブル業者とリレーションシップを設定しています。  ひとつの業者に担当者は0人の時もあれば5人の時もあります。担当者のいない業者は、本社対応なので担当者テーブルにはデータはありません。  案内履歴テーブルを作るにあたり、担当者がいるところには(ギョウシャメイカタカナ)と、(タントウシャメイカタカナ)情報を持ち、担当者がいないところは、(ギョウシャメイカタカナ)だけを保存しようと思います。  業者数は500社ぐらいです。  **フォーム業者、からフォーム案内履歴をコマンドボタンを使って開くと(ギョウシャメイカタカナ)を入力して、フォーム担当者からフォーム案内履歴を開くと(ギョウシャメイカタカナ)と(タントウシャメイカタカナ)を入力しようと思っています。**  *から*と、**から**で、考え方として間違っているところがあるのでしょうか。 また、この考え方で可能なら、*から*と、**から**を実現するためのヒントとアドバイスよろしくお願い致します。

  • エクセル関数について

    エクセル2003です。 宜しくお願いします。 A列に担当者名、B列に金額が入力されており、 山田  10000 田中  8000 山田  26000 田中  20000 山田  20000 山田  -26000 山田 -10000 例えば、担当山田で、なおかつ20000以上の金額の合計、または販売本数を出す場合、以前質問させて頂いたのですが、SUMPRODUCT関数でできたのですが、上記のようにキャンセル(-)が入ってくる場合にどのような式にしたらいいでしょうか この場合ですと、山田の20000円以上の合計金額が20000円、販売本数が1と表示させたいです。 何卒お願いします

  • Accessのクエリ集計に関して

    すみませんアクセス初心者です。 仕事で以下のような表を作りたいのですがどうしてもできません。。。 助けてください。。。 テーブルは テーブル名:売上実績 担当者  売上  月  科目  ←フィールド 山田   500  04  定番 山本   400  05  定番 山田   600  04  特売 山田   700  05  特売 山本   300  04  特売 山田   300  04  定番 ↑のような感じです! そして作りたいクエリは 担当者  04定番売上合計 05定番売上合計 04特売売上合計 05特売売上合計 山田     800       0       600      700 山本      0      400       300       0 クエリのデザインビューのところに式を入れたらいいのかな・・・? と思うのですが、教えていただきたいですm(__)m

  • エクセルの関数について

    宜しくお願いします。 A列に担当者名、B列に金額が入力されており、 山田  10000 田中  8000 山田  26000 田中  20000 山田  20000 例えば、担当山田で、なおかつ20000以上の金額の合計を出す場合、どうしたらよろしいですか? (この場合、46000を表示したいです) また、同じく20000以上の山田の件数を出す場合も合わせてご教授ください。 (この場合は2を表示したいです。) 宜しくお願いします。

  • ACCESS教えて下さい。

    こんにちは。お願いします。 T_1 テーブル 企業名 売上合計 T_2サブ テーブル 売上内容 売上金額 仕入金額 を作成し、T_1のフォームを作成しT_2サブは、サブフォームにします。 入力していき、テーブル1の合計にサブフォーム上で入力した売上金額の合計が、計算されるようにしたいのですが・・・。 どうすれば良いでしょうか? 教えて下さい・・。

  • Access2002のリレーションについて。

    販売管理のデータベースを作成しています。 『販売店マスターテーブル』 販売店コード(主キー) 販売店名 郵便番号 住所 電話番号 営業担当者コード 『営業担当者テーブル』 営業担当者コード(主キー) 営業担当者名 『販売伝票テーブル』 伝票番号(主キー) 売上日 販売店コード この中で、『販売店マスターテーブル』から、販売店コード,販売店名,郵便番号,住所,電話番号,営業担当者コードを、 『営業担当者テーブル』から、営業担当者名を使って、新しいクエリを作成しました。 そのクエリを基にフォームを作成しましたが、フォームに新規レコードを入力できません。 念のため、販売店コードを『販売伝票テーブル』からとってきたら、新規レコードが入力できるようになりました。 これは、何か主キーの関係で入力できないんでしょうか。 もし、『販売伝票テーブル』から販売店コードをとらなくちゃいけないとしたら、それはナゼでしょうか・・。 初歩的なことで申し訳ありませんが、とても困っています。 どなたかお分かりになる方、教えて下さい。 よろしくお願いします。

  • エクセルの関数について

    エクセル2003です。宜しくお願いします。 担当者  売上 田中   20000 山田   30000 田中   10000 山田   20000 山田   -30000 上記のような表で、山田の販売件数を関数で出したいのですが、上記の表では山田の販売件数は2-1で1件というように出したいのです。(売上が-の場合は件数を-1にする) -がなければ、『山田』の数を拾って終わりなのですが、-が入ってくることによって自分ではわからなくなってしまいました。 宜しくお願いします。

  • SQLで違うテーブルの結果を組み合わせたい

    SQLでどう結果を返したらいいのかわからないので力を貸してください。 下記の受注表と入荷表があります。 受注表 担当 商品コード 顧客コード ── ──── ───── 田中 A1 001 田中 A1 002 田中 A1 003 山田 A2 020 山田 A1 003 田中 A1 020 入荷表 担当 入荷コード 入荷日 ── ───── ───── 山田 X013 20080701 山田 X013 20080701 田中 X013 20080701 山田 X013 20080630 山田 X013 20080630 田中 X123 20080630 自分の欲しい結果を出すためのSQLは下記のクエリです。 ≪受注表テーブルから≫ SELECT 担当, 顧客コード FROM 受注表 WHERE 担当 = '田中' AND 商品コード = 'A1' AND 顧客コード = '003' ; SELECT 担当, 顧客コード FROM 受注表 WHERE 担当 = '田中' AND 商品コード = 'A1' AND 顧客コード = '020' ; ≪入荷表テーブルから≫ SELECT 担当, 入荷日 FROM 入荷表 WHERE 担当 = '田中' AND 入荷コード = 'X013' AND 入荷日 = '20080701' ; SELECT 担当, 入荷日 FROM 入荷表 WHERE 担当 = '田中' AND 入荷コード = 'X123' AND 入荷日 = '20080630' ; これらで出る結果をただ下記のように横並びに出したいのですがどうしたらよいでしょうか? 「担当」の項目に関しては複数でますが気にしないで下さい。 ただ全く関係のないテーブル同士の結果を「横並び」表示にしたいだけです。 担当 顧客コード 担当 顧客コード 担当 入荷日 担当 入荷日 ── ───── ── ───── ── ──── ── ───── 田中 003 田中 020 田中 20080701 田中 20080630

  • アクセスでテーブルの複製ができますか?

    売上管理を作っていますが、月締処理として 日々売上処理で入力されたデータを集計して売上集計テーブルに書き込んでいます。 入力ミスをした場合を考えて、元に戻すための処理を 作っておこうと考えています。 売上集計テーブルの複製を月締め処理前にとってミスがあった時、元に戻す処理をVBAで書きたいのですがどのようにすればよいのでしょうか? よろしくお願いいたします

専門家に質問してみよう