• 締切済み

アクセス2003でのデータベース作成で

WinXP上でaccess2003のデータベースを作成していますが、どうしても分からないのでどなたかご教授いただけないでしょうか? Aというテーブルには商品名と値段をそれぞれのフィールドに入力してあり(フィールドA1,A2と仮定。主キー用は別) Bというテーブルの3つのフィールド(仮にフィールドB1,B2,B3)はテーブルAの商品名(A1)をルックアップしている状態なのですが、テーブルBのもうひとつのフィールド(フィールドB4と仮定)にフィールドB1,B2,B3でルックアップしている商品の値段(A2)の合計額が表示されるようにするにはどうしたらいいのでしょうか? 買った本にも載ってませんし、ネットで検索してもこれかな?っていう解説が見つからなかったので漠然とでもいいのでこうしたらいいとかリンク先などを教えていただければ幸いです

  • MySQL
  • 回答数3
  • ありがとう数6

みんなの回答

noname#79209
noname#79209
回答No.3

ひょっとして、テーブルBは横展開してるですか。 1000円、みかん、りんご、バナナ といったように... これだとDBの意味がありません。 EXCELから入った人が陥りやすいところです。 生徒の成績をDB化する際、デーブル構造を   生徒番号、算数、理科、社会、英語 と作成してしまい勝ちです。これは本来   生徒番号、科目、点数 とすべきなのです。

  • gatt_mk
  • ベストアンサー率29% (356/1220)
回答No.2

>テーブルBのもうひとつのフィールド(フィールドB4と仮定)にフィールドB1,B2,B3でルックアップしている商品の値段(A2)の合計額が表示されるようにするにはどうしたらいいのでしょうか? 根本的にテーブル構造が理解されていないのではないですか? ルックアップするというのは単にそのフィールドに値を代入するときに参照しているだけではないですか?そうであれば値が代入された後にフィールドB4の合計額は変化しなくてはなりません。ACCESSのテーブル定義で値を自動的に変化させることはできません(SQLSeverなどのDBをつかい、データベーストリガーなどの設定をすれば変化させることも可能ですが)。 こうしたことをするためにはフォームなどを作成して、その画面で各フィールドの値が変化した時に、VBEでフィールドB4の合計値を更新するプログラムを作成するしかありません。テーブルの定義で設定できるものではありません。 それなりにVBEでのプログラム開発の知識が必要です。

toukyouto
質問者

お礼

アクセスを使い始めてまだ日が浅いのでテーブルというものを理解しきっていないのかもしれません。 テーブルをエクセルのシート感覚で捉えていました。 やはりフォーム上などでクエリを使って呼び出すようにしたほうがいいのかも知れません。 ちなみにB1~3の値が更新されたときにイベントをマクロで作るようなやり方というのもありかなと解答を見て思いましたが、やはりフォームなどで表示させる方が簡単で良さそうです ありがとうございます

noname#42041
noname#42041
回答No.1

BテーブルにAテーブルの内容をという形ではなく、A,Bテーブルをつないで必要なデータを得られるクエリーを作成する形がACCESSのようなRDBでの使い方ではないでしょうか?

toukyouto
質問者

お礼

仰る通りかもしれません。 テーブルはデータの保管など基本的な概念をもう一度勉強します

関連するQ&A

  • access97でのデータ利用方法について

    AテーブルのレコードとBテーブルのフィールドをリレーションさせる方法はあるのでしょうか やろうとしている事は、Bテーブルの各フィールドにはそれぞれの商品数量があって、そのフィールド(商品名)の単価をAテーブルから参照させたいのですが 主キーがAテーブルでは、商品名に出来そうですが、Bテーブルは、商品名が フィールドとなっているので 配列のような概念が利用できないかとも思ってマニュアル探してみましたが判りませんでした。それともデータベースの考え方が間違っているのでしょうか? ご存知の方いらっしゃいましたら宜しくお願いします。

  • ファイルメーカーの計算について

    テーブルAとBの間で計算したいのですがうまくいきません。 A(仕入管理)にはフィールド「商品名・単価・個数・合計金額」が各5組あります。このフィールドの商品名・単価はテーブルB(商品マスタ)からルックアップしたものです。  この商品名・単価・個数・合計金額をルックアップ元のテーブルBに商品別に表示(計算)したいのですが、計算式がいまいちうまく行きません。

  • アクセスでデータベースを作っているのですが

    いつもお世話になります。 とっても基本的なことですが、データベースのテーブルの中のAとBとCのフィールドを集計してDのフィールドに記入したいのです。  A+B+Cという式を入れた選択クエリを作ってその集計をDに返すようにしたのですが、A,B,Cとも数値が入っていないと空白になります。テーブルの規定値には 0が入っているのでいいと思うのですが(汗) 多分ホントに簡単なことかと思うのですが、判りません(泣) よろしくお願いいたします。

  • accessのデータベース作成について

    記号  商品名 001 袋 002 袋 003 袋 004 お菓子 上記のようなデータベースを作るときに テーブルを作る場合は フィルド名 記号 商品名 を作ったときにレコードが一つの商品名に記号が複数の 場合は 区分訳するコードがいるのですか、 どういうテーブルの構成にしたら良いか教えてください。 以上    

  • ACCESS2003でデータベースを作成します

    Access2003でデータベースを作成します。 以下の入力項目があるのですが、どう正規化したらよいのかわかりません。 お助けください。 ・顧客ナンバー ・顧客名 ・生年月日 ・年齢 ・住所 ・電話番号 ・身長 ・体重 ・性別 ・来店日 ・購入物 ・購入金額 これが一つなのですが、もう一つテーブルで ・商品名 ・価格 のデータベースも作りたいのです。 購入物を入力するとこのテーブルから価格を引っ張ってきて、 購入金額合計を出すようにすることも予定しています。 また来店日、購入物などの履歴は来店の度に入力があるので、 顧客ナンバーとは別のテーブルにすべきなのはわかるのですが・・・ よろしくお願いします。 このほかに必要な情報がありましたらご指摘ください。

  • ACCESS2000でのデータベース作成について

    OS:XP Access Version:2000 工場の工程管理データベースを作っています。 工程Aのテーブル 品種名、各日の生産数 工程Aのクエリ 品種名、各日の生産数、各日の生産キロ数(計算)、1か月の生産キロ数(計算) 工程Bのテーブル 品種名、各日の生産数 工程Bのクエリ 品種名、各日の生産数、各日の生産キロ数(計算)、1か月の生産キロ数(計算) ここで、各工程における1か月の生産キロ数を一つのフォームに表示したい。 どうすればよいですか? 2つのクエリからさらに1つのクエリを作ってもうまくいきませんでした。 品種名は工程によらず同じですが、共通させる方法をしらないため、 別々のものとして工程Aテーブル、工程Bテーブルに登録しています。 大きなテーブルを一つ作る方法しかないですか? 宜しくお願いします。

  • Access2000で困ってます

    お世話になります Access2000で困っています あるデータベース(A)でVBAをさわっていたら おかしくなってしまいました そこで一週間ほど前にBackupのつもりで ファイル名を変えて保存した同じデータベース(B)を 使おうと思うのですがこの一週間であるテーブルのデータを 変更しています どのレコードのどのフィールドを変更したのかわかりません そこでデータベース(A)のテーブルとデータベース(B)のテーブルを 比較照合したいのですがどうすればうまくできるでしょうか? アドバイスお願いします

  • Accessでのクエリ作成についてですが

    【Tジャンル】【T商品】【T仕入先】 ↑これらの3つのテーブルを使ってクエリを作成すると仮定します。 それぞれのテーブルにあるフィールドの内容は以下の通りです。 【Tジャンル】 [ジャンルコード(主キー)][ジャンル名] 【T商品】 [商品コード(主キー)][商品名][ジャンルコード] [仕入先コード][仕入原価][標準価格][終息][備考] 【T仕入先】 [仕入先コード(主キー)][仕入先名][フリガナ][郵便番号] [住所][建物名][電話番号][FAX番号][担当者名][メールアドレス] ここで質問があります。 クエリ作成のデザイングリッドのフィールドに [仕入先コード]を追加するとします。 [仕入先コード]は【T商品】と【T仕入先】両方にあるのですが、 フィールド名が同じならば、どちらから追加しても構わないものなのでしょうか? それとも、何か決まり事のようなものがあるのでしょうか? 基礎的な部分の質問ですが、ご存知の方がおられましたら、 どうか宜しくお願いします。

  • ACCESS アクセスで他のデータベースからのデータインポート

    アクセスど初心者です。 Aというデータベースファイルにあるテーブルaのデータを、Bというデータベスファイルにあるテーブルbに インポートできますか?フィールド等詳細は両テーブルとも一緒だとします。 イメージ的には、テーブルbの最終レコードの後にテーブルaのデータがくっつくという感じです。 コピー&ペーストだとエラーになってしまうのですが・・・。宜しくお願いします。

  • AccessのテーブルにVBAでフィールドを追加したい

    Access97を使用しています。 クロス集計クエリを基にテーブルを新規作成します。 その後、フォームのコマンドボタンのイベントプロシージャでコードを記述してフィールドを追加していきたいのですが、どう書けばいいのでしょうか。 このテーブルは作業用で、頻繁に作って作業後は削除しますが、作成するたびにフィールドの数が異なります。(フィールド名も一部変わります。)それを常に同じフィールド数にしたいのです。追加したフィールドの表題は”-”(空白っぽく表現する)にしたい。 たとえば 商品名|場所A|場所B|合計|仕入先 みかん| 10 | 20 | 30|a店 りんご| 30 | 40 | 70|b店 を、下記のようにしたいと思います。 商品名|場所A|場所B|-|-|合計|仕入先 みかん| 10 | 20 | | | 30|a店 りんご| 30 | 40 | | | 70|b店 また、下記のようなケースもあります。 商品名|場所D|-|-|-|合計|仕入先 みかん| 10 | | | | 10|a店 りんご| 30 | | | | 30|b店 商品名|場所B|場所C|場所D|-|合計|仕入先 みかん| 10 | 20 | 20 | | 50|a店 りんご| 30 | 40 | 10 | | 80|b店 わかりにくい説明ですみません(>_<) よろしくお願いします。