ACCESSで時間の合計を出すには?

このQ&Aのポイント
  • ACCESSを使用して、ユーザー別のネットワーク接続時間の合計を求めたい場合、クロス集計クエリを使用することができます。
  • クロス集計クエリでは、行見出しにユーザー名を、列見出しに接続日の「月」をグループ化することで、接続時間を集計することができます。
  • ただし、集計方法が「カウント」になっている場合、接続時間が1時間を越えるデータのみが結果として表示されます。分や秒まで合計する場合は、元のテーブルの加工が必要になります。
回答を見る
  • ベストアンサー

ACCESSで時間の合計を出すには?

ACCESSでユーザー別、ネットワーク接続時間の合計を出したいのですが、うまくいきません。 元のテーブルに以下のようにデータを入力していて、それを元にクロス集計クエリを使用し、行見出しを[ユーザ名]。 列見出しを[接続日]の「月」をグループ化。 集計する値を[接続時間]とすると、集計方法が「カウント、先頭、最大、最小、最後」となり、「カウント」で実行すると接続時間が1時間を越えているものだけが結果として表示されます。 分、秒まで合計するには、元テーブルの加工が必要なのでしょうか? ============ [ユーザー名][接続日][接続時間] aaa     2008/3/4 20分30秒 aaa     2008/3/4 10分07秒 aaa     2008/5/10 1時間15分21秒 bbb     2008/9/11 2時間2分50秒 bbb     2008/10/10 42分30秒 ============ [ユーザー名][接続時間]はテキスト型[接続日]は日付時間型です。

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

  • ベストアンサー
  • Masa2072
  • ベストアンサー率51% (94/182)
回答No.1

接続時間がテキスト型では合計できません。 時間を文字列で表す意味が分かりませんが、元テーブルの変更が面倒であれば、クエリで接続時間をシリアル値に変換する必要があります。 作成したクロス集計クエリーをデザインビューを開き[接続時間]となっている部分を Format(Sum(TimeValue(Replace([接続時間], "時間", "時"))), "h:mm:ss") と変更、集計の方法は「演算」にします。

関連するQ&A

  • Access(office2000)

    accessを用いてあるデータをまとめたい(集計)のですが、 うまくいきません。 tableが3つあり、各2つフィールドがあります。 どのtableも同じ構成でフィールド1には氏名、フィールド2には数(整数)が入っています。 構成は同じものの、データが異なります。 それぞれのtableのフィールド1は同値のものが多々存在します。 例: table1は name| num1 ---------- aaa | 10 | bbb | 12 | table2は name| num2 ---------- aaa | 8 | bbb | 19 | table3は name| num3 ---------- aaa | 20 | bbb | 5 | ccc | 5 | としたとき、 name| num1| num2|num3 | 計 ---------------------------- aaa | 10 | 8 | 20 | 38 bbb | 12 | 19 | 5 | 36 ccc | 0 | 0 | 5 | 5 となるようにしたいのです。 どのようにすれば値を集計できるでしょうか? よろしくお願いいたします。

  • アクセス クエリ 時間の合計

    かなり初歩的な質問かと恐縮ですが、 フィールド名:時間 12:28 14:04 13:00 7:50 上記の様にアクセスのテーブルに時間が入力されている列をクエリの 集計で合計すると表示がおかしかったので、プロパティの書式に 時刻 (S)を指定しました。 そうすると時間の表示は正しい形となったのですが、 合計値がおかしな状態です。 エクセルでは[h]:mm:ssと書式を指定すれば縦列の時間合計値が 正しく表示されますが、アクセスではどういった指定をすれば 時間の合計をすることができるのでしょうか?

  • PL/SQLでの集計とテーブルの結合の仕方

    いつもお世話になっております。 pl/sqlでの処理なのですが、タイトルのとおり テーブルの結合と集計で分からないところがあり、 こちらで質問させていただきました。 処理内容は あるグループでレコードを集計し、 そのグループが重複する他のテーブルと結合したいと 考えております。 【テーブル1】 (班) (回数) (秒) aaa| 10| 100 aaa| 20| 200 bbb| 10| 150 bbb| 20| 100 ccc| 10| 100 ccc| 30| 250 : : : まずこれを集計し、件数を追加して (班) (回数) (秒) (件) aaa| 30| 300| 2 bbb| 30| 250| 2 ccc| 40| 350| 2 : : : : というようにまとめ、 【テーブル2】 (年月) (班) (円) 200904| aaa| 1000 200905| bbb| 1500 200904| ccc| 2000 : : : というテーブルと結合して (年月) (班) (回数) (秒) (円×件) 200904| aaa| 30| 300| 2000 200905| bbb| 30| 250| 3000 200904| ccc| 40| 350| 4000 : : : : : という形にしたいのですが可能でしょうか? 例に挙げたのは3件しかありませんが テストデータは1万件以上ありそれを処理します。 初心者なので、テーブルの結合の仕方、 集計の仕方が分からず行き詰っております。 どなたか、お力を貸していただけないでしょうか。 よろしくお願いいたします。

  • (ACCESS)合計を求めたいのですが…

    赤、青、白の3色のサイコロを同時に振って 出た目を色ごとに記録していく データベースを作成しようとしています。 サイコロの目ごとに色別の出現回数を カウントしたクエリを さらに1まとめに合計したいと思い 色々いじくってみたのですが うまく出来ません。 集計して合計を出すには どうすればよいのでしょうか? ---------------------------------------------- テーブル サイコロテーブル      フィールド(回数、白色、青色、赤色)      目テーブル       レコード(サイコロの目=1,2,3,4,5,6) クエリ 選択クエリ(白、青、赤) 選択クエリ(まとめ)

  • Access2003 一つのクエリで結果を出したい

    お世話になります。 下記テーブルを紐付けてクエリを作成します(Access2003)。 受注テーブル  ・ID  ・コード  ・数量 検品テーブル  ・ID  ・コード  ・検品フラグ マスターテーブル  ・ID  ・コード  ・印刷フラグ 検品テーブルのレコードは、受注テーブルの数量合計が展開されたレコード数となります。例えば、AAAというコードで数量合計が8の場合、検品テーブルではAAAのレコードが8レコード存在することになります。 但し、マスターテーブルの印刷フラグがYesとなっているものは、数量がいくつあっても受注テーブルは1レコード作成されます(数量合計で展開しない)。  受注テーブル   ID コード 数量   1  AAA   5   2  AAA   3   3  BBB  100  検品テーブル   ID コード 検品フラグ   1  AAA   Yes   2  AAA   Yes   3  AAA   Yes   4  AAA   Yes   5  AAA   Yes   6  AAA   Yes   7  AAA   No   8  AAA   Yes   9  BBB   Yes  マスターテーブル   ID コード 印刷フラグ   1  AAA   No   2  BBB   Yes こんな感じです。 そこで各テーブルをコードで紐付けてグループ化し、検品フラグYesで抽出した状態で以下の結果を表示出来るようにしたいところです。 コード 数量合計  AAA   7  BBB  100 要するに印刷フラグがYesのものは受注テーブルの数量合計を表示し、それ以外は検品された数を表示させたいと考えています。 あらかじめ受注テーブルでコードでグループ化し、数量の合計を算出するクエリ(※1)を作成し、そのクエリと検品テーブル、マスターテーブルを紐付けたらうまく表示出来ました。 ※数量合計はIIFで印刷フラグ=Yesの場合は※1の数量合計を、Yesではない場合は検品テーブルのレコードカウント数を表示。 しかし、できれば一つのクエリで上記の結果を表示させたいのですが、可能なのでしょうか。 ご教授お願い致します。

  • 【Access】レポートのグループ集計結果をページヘッダーへ表示したい

    作業環境 Access2007 WindowsXP よろしくお願いします。 グループ化したデータの集計結果をページヘッダーより上に表示する方法は無いでしょうか。 現在店舗コードでレポートをグループ化し、金額と明細数の合計をグループヘッダーへ表示しています。 しかしこの方法だと、ページヘッダーに指定しているデータ見出しの下に合計が表示される為、見栄えが非常に悪いのです。 例) 商品No 商品名 単価 売上数 合計  ← ページヘッダーの見出し      店舗A 250  明細数 2     ← グループ集計   1    AAA   10   5    50     2    BBB   20   10   200 (改ページ) 商品No 商品名 単価 売上数 合計  ← ページヘッダーの見出し      店舗B 3,800  明細数 3     ← グループ集計   1    CCC   30   20    600     2    DDD   40   30   1200   3    EEE   50   40   2000 上記例のような表示を、以下のように変更したいのです。      店舗A 250  明細数 2     ← グループ集計 商品No 商品名 単価 売上数 合計  ← ページヘッダーの見出し   1    AAA   10   5    50     2    BBB   20   10   200 (改ページ)      店舗B 3,800  明細数 3     ← グループ集計 商品No 商品名 単価 売上数 合計  ← ページヘッダーの見出し   1    CCC   30   20    600     2    DDD   40   30   1200   3    EEE   50   40   2000 グループフッターへ合計を表示させれば問題無いのですが、 集計は必ずヘッダーへ表示させるよう指示を受けている為、 何か方法がありましたらご教授頂きたいと思います。 分かりにくい説明で申し訳ありませんが、よろしくお願い致します。

  • Access 97 について

    今日2回目の質問です。レポートの集計についてです。以下の結果を表示したいのですが、件数と金額の合計は分かりますが、箇所の集計方法が分かりませんどうか教えてください。どうぞ宜しくお願いいたします。日付 箇所 金額    07/01 AAA 1.500円    07/02 AAA 2.200円    07/03 BBB 1.700円 --------------------------    2箇所 3件 5.400円

  • SQLでできること

    SQLだけでできることと、できないことって、一言で言い表せるでしょうか? データベースからデータを取り出すとき、どこまでできて、どこからはphpなど他の言語で処理したらいいのか、とても気になるんです。 もしかして、何でもできるのかな? というのも、今やりたいと思っていることが、 (環境はMySQL+PHP使用で、ブラウザで表示させます) テーブル A(人物のリスト) id|name ------- 1 | aaa 2 | bbb 3 | ccc 4 | ddd テーブル B(人物と成績のリスト) name| point ------------- aaa | 10 bbb | 15 bbb | 10 aaa | 20 bbb | 25 ccc | 30 のようなテーブルがあったとき、 aaaのpointの合計 = 30 bbbのpointの合計 = 50 cccのpointの合計 = 30 dddのpointの合計 = 0 ← テーブルBに載ってない人もいる という人物全員の結果の集計をするには、どうすると最適でしょう? 私がすぐ思いつくのは、テーブルAのデータを配列に読み込んで、それを元に次はテーブルBから、人物別の行を取り出すSQL文を作って、pointを集計するという手順です。他に手段はあるでしょうか?

    • ベストアンサー
    • MySQL
  • PL/SQLでの、集計→結合→集計の仕方

    いつもお世話になってます。 以前こちらで質問をさせていただいたのですが、 http://soudan1.biglobe.ne.jp/qa5076670.html さらに分からないことが出てきたので、また質問させていただきます 【テーブル1】 (年月日) (班) (回数) (秒) (種類) 20090401|aaa| 10| 100 A 20090401|aaa| 20| 200 A 20090501|bbb| 10| 150 B 20090501|bbb| 20| 100 B 20090401|ccc| 10| 100 C 20090401|ccc| 30| 250 C 20090401|ddd| 15| 200 A : : : まずこれを集計し、件数を追加して (班) (回数) (秒) (件) (種類) aaa| 30| 300| 2 A bbb| 30| 250| 2 B ccc| 40| 350| 2 C ddd| 15| 200| 1 A : : : : というようにまとめ、 【テーブル2】 (年月) (班) (円) 200904| aaa| 1000 200905| bbb| 1500 200904| ccc| 2000 200904| ddd| 1200 : : : というテーブルと結合して (年月) (班) (回数) (秒) (円×件) (種類) 200904| aaa| 30| 300| 2000 A 200905| bbb| 30| 250| 3000 B 200904| ccc| 40| 350| 4000 C 200904| ddd| 15| 200| 1200 A : : : : : とするのが前回までで ここから更に種類で集計をして (年月) (回数) (秒) (円×件) (種類) 200904 | 45| 500| 3200| A 200905 | 30| 250| 3000| B 200904 | 40| 350| 4000| C としたいのですが、 SELECT テーブル2.年月, テーブル1集計.種類, sum(テーブル1集計.回数), sum(テーブル1集計.秒数), sum(テーブル1集計.件数 * テーブル2.円) FROM (SELECT 年月日, 班, 種類, sum(回数) 回数, sum(秒数) 秒数, count(*) 件数 FROM テーブル1 GROUP BY 班,種類,年月日) テーブル1集計,テーブル2 WHERE テーブル1集計.班=テーブル2.班 GROUP BY 種類,テーブル2.年月; としたところ、最終的に出力したいテーブルの集計結果の (回数) (秒) (円×件)が正しいものより多くなってしまいました。 長くなって申し分かりません。 どこが間違っているのか、わかる方いらっしゃいましたら 教えていただけないでしょうか??

  • Accessによる集計方法について

    Accessによる集計方法について kamuycikapです。 下記のデータベースを利用して集計作業を行うときの、クエリ作成方法についてご教示願います。 <やりたいこと> キーとなるコード別に数量を合計計算したい。 <データベース> |キー|数量| AAA 1 AAA 3 AAA 4 CCC 5 BBB 2 BBB 9 <求める結果> |キー|合計数量| AAA 8 BBB 11 CCC 5 上記条件でのクエリ作成について、識者様からのアドバイスをお願い致します。 マクロ等のサンプルはGoogle検索でひっかかりましたが、出来る限りクエリでカバーしたいと思いますし、クエリを使えば実現できるのではないかと思っています。 今も、Access起動してクエリを試行錯誤しております。