重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

クエリの合計値と親テーブルの合計値をフォーム上にて表示したいのですが、
うまく行かずに困っています。

クエリにて抽出した値の合計 Sum([Q抽出クエリ],[利用金額]) と、
抽出前の合計 Sum([T検索履歴],[利用金額]) を両方表示させたいです。

現状は下記の通りです。


■使用テーブル・使用クエリ

テーブル  [T検索履歴] -------
フィールド [検索履歴ID] [キーワード] [利用金額]

クエリ   [Q抽出クエリ] …T検索履歴から特定のキーワードを含むレコードを抽出
フィールド [検索履歴ID] [キーワード] [利用金額]


■フォーム
フォームのレコードソース … [Q抽出クエリ]


■現状と問題点
(1)[Q抽出クエリ]にて、キーワード『保護』を含むレコードを抽出します。
(2)抽出されたレコードの[利用金額]を、非連結テキストボックス tBox1 に表示します。

式:tBox1のコントロールソース =Sum([利用金額数])

(3)全体の利用金額合計を知るために、
[T検索履歴]の[利用金額]の合計値を非連結テキストボックス tBox2 に表示させます。
(ここが望む結果になりません。)

式:tBox2のコントロールソース =Sum([T検索履歴],[利用金額数])


実行した結果
tBox1 … 抽出されたレコードの[利用金額]合計を表示
tBox2 … 上に同じ


望んだ結果
tBox1 … 抽出されたレコードの[利用金額]合計を表示

tBox2 … [T検索履歴] の[利用金額]合計を表示



以上、どうしたら良いのか分からず困っています。
宜しくお願い申し上げます。

A 回答 (2件)

あまり感心した方法ではないが、以下のように変更する。


式:tBox2のコントロールソース =DSum([利用金額数],[T検索履歴])
本来はQ抽出クエリにこういう値を持つフィールドができる
ようにSQLを組むべき。
何で感心しないかと言うと、テーブルがODBCリンクに
よる他のDBシステムの場合、Dxxx系関数の処理速度が
極端に悪くなることがあるからです。現在はAccessでも、
将来SQL Serverを導入しようなどという計画があるなら
クエリの内容を修正することを薦めます.
    • good
    • 0

別に合計テーブルを用意する。



区分 値
01  クエリの利用金額計
02  テーブルの利用金額計
の2レコードをクエリで値格納する。処理のたびに上書きする。


フォームでは
DLOOKUP関数使うことで2つともそれぞれ取得可能です。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!