• 締切済み

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

関連するQ&A

  • 特定リストから数値を参照する方法

    どなたがご教授をお願いします。 Excel上でカロリー計算を行いたいのですが、 何度も同じ食品のカロリー値を入力するのは面倒なので、 各品目とそのカロリーを別表に保持しておき、 品目名を入力すると自動的にカロリーを表示させたいのですが、 どのようにすればよいでしょうか? 【表1:カロリーリスト】  パン  300  おにぎり 200  いちご  300 【表2:カロリー入力表  「パン」と入力すると、となりのセル  にそのカロリー値を表示させたいです。 よろしくお願いします。

  • accessのフォームで参照しながら入力

    access初心者です。教えてください。 今、以下のようなテーブルがあるとします。 TBL_A ID,名前,TEL,FAX TBL_B ID,顧客ID,年月日,メモ 新規でTBL_Bのデータを追加するときにリストボックスから顧客を選び、年月日とメモを入力するフォームを作成しています。 このときにリストボックスより選択後、年月日とメモを入力するテキストボックス等の横に該当顧客の直近(TBL_Bの該当顧客の年月日が最新のもの)のデータを表示したいです。 要するに前回のデータを見ながら入力したいです。 表示はテキストボックスでもラベルでもかまいません。 実際には項目数は20個程度あります。 VBAでもかまいません。どのような方法があるでしょうか? 教えて頂きたいです。

  • Accessについて質問です

    初心者なのですみません。 左側のリストボックス、右側のテキストボックス、削除ボタン。 現在はリストボックスから選んで削除しているのですが あまりにも数が多い時は探すのに時間がかかってしまって。 右のテキストボックスに入力、リストボックス表示 、選んで削除。(通常は全リスト表示) 宜しくお願いいたします。

  • アクセス2000でデータ抽出できない

    アクセス2000でデータ抽出できない サブフォーム上でコンボリストを使用して入力し、その条件にあったものだけを別のコンボボックスに表示したい。 フォーム:[取引名][種別][資材名] ※全てコンボリスト 取引先を選択し、種別を選択し、その2つの条件を満たすものだけテーブルから抽出し、資材名のリストに表示したいのですが、どうしたらできるかわかりません。

  • リストボックスで選択したデータを表示する方法

    ソフトはACCESS2000です。 フォームでの入力で、リストボックスから複数選択できるようにしているのですが、このリストボックスの値集合ソースに入っている件数が多いため、下にかなりスクロールすることになります。 そこで、リストボックスの右側に別にリストボックスで選択したものを表示させられないかと思っています。 ここでお聞きしたいのは、 1. 表示エリアとしてテキストボックスを作ったのですが、テキストボックスでOKか? 2. 1でOKの場合、リストボックスで選択したものをテキストボックスに表示させる方法 3. 1でOKの場合、そのテキストボックスへ入力できなくする方法(表示ONLYにしたい) 4. 1でだめな場合、別な方法はあるか?あればその方法 です。 回答は、1~3か、1,4になるかと思います。よろしくお願いいたします。

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

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

  • VBのフォーカスの移動について教えてください

    はじめたばかりの初心者ですが、よろしくお願いします。 商品名の一覧のリストボックスを表示し、商品コードを入力するテキストボックスと商品名を表示させるラベルをそれぞれ三つづつ用意し、テキストボックスへ商品コードの入力、またはリストボックスの商品名のクリックでラベルに商品名を表示するようにしたいのですが、まず最初にテキストボックス1にフォーカスを移します。そしてそこでリストボックスの商品名をクリックすると、そこにフォーカスが移ってしまいます。 リストボックスをクリックしたあと、自動的に元のテキストボックス1 (元のフォーカスがテキストボックス2にあったときにはテキストボックス2に) にフォーカスを戻すにはどのようにすればいいのでしょうか。 サンプルコードで教えて頂けたら有難いのですが。

  • 参照ボタン

    「ファイル参照」を作成したとき、テキストボックスと参照ボタンが表示され、参照ボタンをクリックするとファイル選択ダイアログが表示されて選択したファイル名がテキストボックスに表示されますが、あらかじめテキストボックスにファイル名が表示されるような処理はHTMLにあるのでしょうか?

    • ベストアンサー
    • HTML
  • access フォームのコンボボックスでの式

    となりのテキストボックスに入力があったらコンボボックスからリストを自動選択、テキストボックスが空白なら手動でリスト選択という風にしたいのですが、コンボボックスのコントロールソースに直接式を入れても、また、フォームの元になるクエリのフィールドに式を設定してもうまく動きません。 良い解決方法はありませんでようか? どう質問したら良いかわからず大雑把でわかりづらいかもしれませんが、宜しくお願い致します。 質問に足りない情報がありましたら、補足しますのでお願いします。

  • Accessのコンボボックスを使ったデータ入力

    Accessは初心者です。宜しくお願いします。 コンボボックスを使ったデータ入力で不具合が生じました。 以下のデーターベースを使用します。 ①テーブル:T_食品   フィールド:食品コード、分類コード、食品名 ②テーブル:T_食品分類  フィールド:分類コード、分類名 ③テーブル:T_材料  フィールド:コード、食品コード、分量 ④クエリ:Q_材料入力用  フィールド:コード(T_材料)、食品コード(T_材料)、分類コード[T_食品]、食品名(T_食品)、分量(T_材料) ※食品コード、分類コードはリレーションシップしてあります。 料理のレシピを入力するために、レコードソースがQ_材料入力用の”材料入力”の帳票フォームを作成しました。 理想としては、食品分類の”分類名”をコンボボックスで選択後、該当する食品の”食品名”をコンボボックスで選択します。そして”分量”を入力する形でした。 ”分類名”のコンボボックスは、T_食品分類をコントロールソースで設定を行い、[更新後処理]は以下の通りにしました。 Me!食品名.Requery ”食品名”のコンボボックスは、T_食品をコントロールソースして、以下の値集合ソースにしました。 SELECT T_食品.食品名, T_食品.分類名 FROM T_食品 WHERE (((T_食品.分類コード)=[Forms]![材料入力]![分類名])); 以上の設定でコンボボックスは成功しましたが、入力を行うたびに、T_食品内に入力した食品のデータが追加される現象が出ました。 何が原因だったのか、対策方法をご教授お願いします。