• 締切済み

Accessのデータの参照について

私は今学校の卒業研究でグループでシステム開発をしています。システムは大体出来上がってきていますが、その中で分からなくて困っている事があります。フォームに日付、食品名、カロリー、総カロリー数という4つのテキストボックスで作られた項目があります。その下にリストボックスがあるのですが、リストには食品名とカロリーの一覧があるのでその中から該当するものを選択します。選択すると、上の食品名とカロリーのテキストボックスにリストで選んだ食品の食品名とカロリーが自動的に入力され、総カロリー数も自動的に合計され表示するようにしたいのですが・・・やり方がよく分かりません↓ちなみに食品名とカロリーのデータは洋食、和食といったように複数のジャンル?に分けてテーブルに入力してあるので、それを参照して表示させたいです。リストのほうも、今は一つのジャンルしか選べないので自由に選んで表示できるようにしたいのですが可能ですか??どのように設定すれば良いのか分からないので、詳しく教えて頂きたいです。そもそも作り方がおかしいのでしょうか?初歩的な質問だとは思いますが、回答宜しくお願いいたします。

みんなの回答

noname#110201
noname#110201
回答No.2

>食品名とカロリーのデータは洋食、和食といったように複数のジャンル?に分けてテーブルに入力してある 和食テーブル、洋食テーブルという風にいくつかのテーブルになっているという意味なら、それはひとつのテーブルにしてください。 洋食・和食の区別が必要なら、そのテーブルに和食とか洋食とか書く「ジャンル」のフィールドを追加してください。 テーブルをひとつにするのが不都合であれば、ユニオンクエリを使って、あたかもひとつのテーブルであるかのような、表をつくることはできます。 でも、ユニオンクエリを書くのは面倒ですし(少なくとも私のバージョンだとSQLで書かないといけない)、めちゃくちゃ遅くなるのでお勧めしません。 >選んだ食品の食品名とカロリーが自動的に入力され どのテーブルに入力するのでしょうか? 食品名とカロリーの一覧表のテーブル(ここでは食品テーブルと呼ぶことにします)のほかのテーブルでしょうね? 多分、ある日に食べたものを記録するテーブルがあるのでしょう。これを 食事テーブルという名前だとします。 今話題にしているフォームを、食品テーブルと食事テーブルで作った選択クエリを基にすれば、特別なことをしなくても、食品に対するカロリーが表示されます。 蛇足かもしれませんが、だから、食事テーブルには日付と食べたものだけ書いてあれば、カロリーは書いてないでいいんです。 合計については、親フォーム/サブフォームの仕組みを使うのが良いのではないかと思います。 今話題にしているフォームをサブフォームにして、合計は親フォームの方に表示させます。 このやり方については、解説のあるサイトをリンクしておきます。 http://www.accessclub.jp/actips/tips_70.htm あるいは、サブフォームにすることをやめて、総カロリーのテキストボックスにDSum関数を使って合計を表示させることもできるでしょう。 これは、ヘルプを見て使い方を確認してください。 ただし、Dで始まる定義域集合関数といわれる種類の関数は、動作が遅いといわれ、プロの方は敬遠するようです。でも、テーブルが小さければ、まあ、さして気にはならないと思います。 勝手な想像ではありますが、私もNo1さんと同様、完成まで遠い道のりがあるように思います・・・・・グッドラック。

  • singlecat
  • ベストアンサー率33% (139/418)
回答No.1

質問が解りづらいのですね。 >システムは大体出来上がってきていますが とありますが、内容を見るとほとんど出来ていないように思います。 もう少し困っている事を整理してみて下さい。

gula0603
質問者

補足

迅速な回答ありがとうございます。一応ダイエットに関するシステムなのですが、これはレコーディング(1日に食べた物を入力するページ)なんです。他にも色々項目があって他の項目は大体完成していますが、このページを含む一部のシステムがまだ未完成なんです。でも、全体的には大体といえるほどの完成度じゃないかもしれないです。すみません(汗)来週の月曜日までには一通りシステムを動かせる状態にしなければならないので、焦ってますorz