• ベストアンサー

合計を求めるクエリーについて

1日から30日の間に誰が何のパンを何個売ったのかを調査できるようなデータベースを作ってみました。 クエリーの抽出条件はBetween「○○○」And「○○○」で日付で指定するようにしました。 (日付ですがデータ型はテキスト型です) 該当するレコードが30件あったとすると30件のレコードが抽出されますが、この期間内に誰が何のパンを何個売ったかの合計がわかるようにするにはどうすればいいのでしょうか? なんかうまく説明できなくてすみませんが教えてください。 よろしくお願いいたします。

  • nazal
  • お礼率86% (20/23)

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

  • ベストアンサー
noname#9485
noname#9485
回答No.1

誰が?がわかるフィールド(例 担当者名)と何をが分かるフィールド(例 商品名)などを追加します。(こういったフィールドはありますよね?) なかったら、基テーブルに追加しましょう。 そしてツールバーの Σ(集計)ボタンをクリックし、デザイングリットに集計欄を表示させます。 誰が?が分かるフィールドの集計欄をグループ化に商品名などのフィールドをグループ化にします。 そして、売上個数が分かるフィールドを合計にします。 あとは日付欄のフィールドをwhere条件にし、抽出条件にBetween Andで日付を指定したらできるのではないでしょうか?

nazal
質問者

お礼

教わったとおりにやってみたら合計とれました。 ただ「何日から何日」までは表示されませんでした。 別に何かしなければダメなのでしょうか? またこのクエリ―を元にレポートを作成したんですがやはり「何日から何日」は 表示されませんでした。 これはこれで別に何かまたしなければいけない事があるのでしょうか? 返事がおそくなってすみません。 kake_angelさんありがとうございました。

その他の回答 (2)

回答No.3

期間を表示したいのであれば、レポートのヘッダーにでも、○○○で日付を指定するパラメーターをデータソースにした、テキストボックスを作成してやれば、表示できますよ テキスト型よりは、日付時刻型にしておいた方が、並べ替えの際などに 面倒が無いですけどね 例えば、between [検索開始]and[検索終わり]と言う様なパラメーター設定をされている場合には、テキストボックスのソースに =[検索開始] もう一つのテキストボックスに =[検索終わり]としてやれば、期間を表示する事は容易ですし 詳細部分に表示させたいのであれば、パラメータークエリーのwhere条件で設定した以外に、日付フィールドを出してやれば、表示されますよ

nazal
質問者

お礼

教えていただいたとおりに入力してみたらできました。 これでなんとかなりそうです。 どうもありがとうございました。

noname#9485
noname#9485
回答No.2

補足の件ですが、 何日から何日という部分は、where条件としてますので、 Where条件は表示できません。 そのクエリを基にレポートを作成し、レポートヘッダーに 何日から何日という部分を、手入力で入れるというのは だめですか?

関連するQ&A

  • Access 抽出クエリーについての条件

    先の投稿に重複しますが、 それぞれ異なるテーブルについて、 クエリーで、、 Between #5:00# And #19:00# Between 500 And 1900 上記の方法等で同じ数値ではなく、 期間に幅をもたせて一致としそれぞれの 一致データを抽出するクエリーは つくれますか? もちろん抽出対象のテーブル、列はそれぞれ同じ書式です。 > between関数を使って、 フィールドのデータ型が日付/時刻型の場合 抽出条件欄に、 > 5:00から19:00を抽出したい、 Between #5:00# And #19:00# > 5:00から25:00を抽出したい、 Between #5:00# And #23:59# OR Between #0:00# And #1:00# Access の日付/時刻型では、25:00 というような表現はできないので、上記のように分割することになります。 > また上記がテキストだった場合も、 > 500から1900を抽出したい フィールドがテキスト型の場合、テキスト比較になり数値比較とは異なる抽出結果になるので、 フィールドに Val([テキスト型フィールド]) と式を設定して数値型に変換します。このの抽出条件に、 Between 500 And 1900 と設定します。 通報する

  • Accessクエリの抽出条件にフォームから挿入する方法(2)

    フォームにいくつかの抽出条件を指定するためのテキストボックスをセットし、そこに入力されたデータをクエリの抽出条件に挿入しデータ抽出を行っておりますが、たとえば販売期間でデータを抽出するために、クエリの抽出条件に Between [Forms]![フォーム名]![売上日FROM] And [Forms]![フォーム名]![売上日TO]と入力しているのですが、テキストボックスに指定日付が入っていれば問題なく抽出できるのですが、販売期間の指定なしの場合、売上日from及び売上日TOがNULLとなるためか抽出結果がゼロ件になってしまいます。 期間指定なしの場合でも抽出ができるようにするためにはどのように記述すればよいか教えてください。よろしくお願いいたします。

  • Accessのクエリ。日付と顧客で売上合計をだす。

    期間を指定して、顧客の売上を合計したいです。 2つのテーブルからクエリを作成しました。 tbl顧客 顧客番号 顧客名 tbl販売 販売番号 日付 顧客番号 金額 Q_売上 日付 顧客番号 顧客名 金額 ∑をクリックして、金額の集計は[合計]にしています。 その他は、[グループ化]です。 日付の抽出条件は、 Between [開始] And [終了] としています。 顧客毎に合計を出したいです。 よろしくお願い致します。

  • クエリーの抽出条件について

    「作表条件」というフォームにテキストボックスとして「日付1」、「日付2」を設置しています。 元のテーブルには「日付」という項目があり、「日付1」から「日付2」までのデータを抽出するため、 クエリの条件式に Between Nz([Forms]![作表条件]![日付1],#1800/01/01#) And Nz([Forms]![作表条件]![日付2],#9999/12/31#) と記述しています。 ただ、元のテーブルの日付がNULL値の場合があり、その場合「日付1」および「日付2」が空欄だとNULL値のレコードが抽出されません。 「日付」がNULLの場合でも抽出できるようにするには、どのようにすればよいでしょうか? どなたか教えてください。

  • Accessのクエリデザインで条件抽出のテキストボックス

    アクセス初心者です。 既に作成済みのクエリを実行する時、いつも「開始日」と「終了日」を入力するテキストボックスが 出てきていました。 例えば開始日のボックスに2009/04/01を入力してEnterを押すと次に終了日を入力する ボックスが出てきて2009/05/31と入力して実行するとそのデータベースのその日付の期間の データが抽出されるようになっていました。 あるとき必要がありそのクエリのデザインを開き別のテーブルの抽出条件を追加したり していたときに、その日付(登録日時というテーブル)の部分の抽出条件を消してしまいました。 元通りにしたいのですが、どのような式が入力されていたのかわかりません。 私なりに調べてみて、テキストボックスは表示されないのですが、クエリのデザインを 開いている状態でそこに 「Between #2009/04/01# And #2009/05/31#」などと日付を入力すればできることは わかったのですが、テキストボックスが表示されるように元通りにすることはわかりませんでした。 お分かりになる方、教えてください。

  • クエリの抽出条件

    アクセス2003/2007のクエリの抽出条件について テーブル名:履歴 フィールド1:名前 フィールド2:履歴No フィールド3:履歴の内容 フィールド4:日付 とあります。 履歴Noは0の人、1~3まである人、1~10まである人と様々。 指定した名前毎に「履歴Noの最大値から3レコードを抽出してレポートにしたいです。 下記のようにしてみました。 Between Val(DMax("履歴No","履歴"))-2 And Val(DMax("履歴No","履歴")) これでは抽出出来ませんでした。 試しに Between 3-2 And DMax("履歴No","履歴") と直接引き算の式を入れると抽出されました。 ※Valはあってもなくても同じでした。 「履歴Noの最大値から3レコードを抽出」をうまく出来る方法は無いでしょうか。 よろしくお願いします。

  • Accessで期間指定の売上合計と順位指定のクエリ

    Accessのクエリの質問です。 (1)期間を指定した、顧客の売上を合計。 (2)その順位を出し、1位~100位や250位などの順位を指定した抽出をしたいです。 (1)期間指定の売上合計はできています。 (2)の順位をDCountでしましたが、金額(集計:合計)にしているためか構文エラーがでます。 よろしくお願い致します。 ------------------------------------------------ 2つのテーブルから、Q_売上(クエリ)を作成しました。 tbl顧客 顧客番号 顧客名 tbl販売 販売番号 日付 顧客番号 金額 Q_売上 日付(集計:Where条件) 顧客番号(集計:グループ化) 顧客名(集計:グループ化) 金額(集計:合計) 日付の抽出条件は、 Between [開始] And [終了] としています。 ------------------------------------------------

  • 更新クエリで合計金額を入れたい

    アクセスのテーブル1を作成しました。 ID    日付    金額    合計金額 1     6/1     ¥100 2     6/1     ¥200 3     6/2     ¥150 4     6/2     ¥300 (合計金額はカラ) そして、日別の合計を出すクエリ1を作成しました。 SELECT [テーブル1].日付, Sum([テーブル1].金額) AS 金額の合計 FROM テーブル1 GROUP BY [テーブル1].日付; 元のテーブルの合計金額の列に、クエリで表示した金額の合計を更新クエリで入れようとすると、 「 更新可能なクエリであることが必要です。」となります。 更新クエリのSQL文は UPDATE クエリ1 INNER JOIN テーブル1 ON [クエリ1].日付 = [テーブル1].日付 SET [テーブル1].合計金額 = [クエリ1]![金額の合計]; です。 ヘルプの内容の 一対多リレーションシップの '一' 側のフィールドを更新するクエリを実行しようとしました。 読み取り専用で開いているデータベースのクエリで、古い OpenQueryDef メソッドで使用しています。 には該当してないのですが(リレーションシップを組んでないし、四方チリ専用で開いてないし) どうすれば元のテーブルに合計金額を入れられるのでしょうか? 結果的に ID     日付     金額     合計金額 1     6/1     ¥100     300 2     6/1     ¥200     300 3     6/2     ¥150     450 4     6/2     ¥300     450 にしたいです。

  • フォームからクエリの抽出期間を指定するにあたって

    フォームのテキストボックス(開始日付,終了日付)に入力された期間内の レコードをクエリで抽出するために、以下のような抽出条件を設定しています。 Between [Forms]![フォーム1]![from date] And [Forms]![フォーム1]![終了日付] ここまでは問題なく出来ています。 ですが、例えばテキストボックスに何も入力していないときに、 全ての期間から全件表示させるような方法はありませんでしょうか? IIf(IsNull([Forms]![フォーム1]![開始日付]),True,~ というような形で、IIfとIsNullの組み合わせも考えたのですが、 日付は直接フィールドでは無く抽出条件のため、 Trueより後が設定できずに悩んでおります。 出来ればVBAは使いたくないのですが、 何か良い方法はありませんでしょうか?

  • ACCESS クエリにて日付で抽出する方法

    宜しくお願い致します。 アクセスにて出荷管理票を作っています。 その過程で下記のクエリを作成しました。 [商品名][出荷先][出荷日][個数] 上記のクエリで[出荷日]に抽出条件を指定したいのです。 抽出条件は【1月分または7月分】です。 Between … And …を使うと Between #2009/01/01# And #2009/01/31# または Between #2009/07/01# And #2009/07/31# となるのですが、2009年というのは指定したくないのです。 2007年でも2008年でもまた2010年でも抽出したいのですが、何か方法はないでしょうか?