私は製造会社のOLです。Windows2000/Access2000で課内の一月毎の工数表を作っています。テーブルは[日付(年/月/日)]、[取引先]、[製品名]、[担当者]、[工数(時間)]のフィールドからなっています。レポートで、一つの製品を制作するのに何名が携わっているかを計算させたいのですが、製品名フッターにて「=Count([担当者])」にすると、3日同じ人が同じ製品を製作したとしたら、「3名」となってしまします。それを「1名」と計算させるには、どうすればよいのでしょうか?どうか教えて下さい。
No.5ベストアンサー
- 回答日時:
私もあまり詳しくないので、これよりももっといい方法があるとは思うのですが・・・
クエリーをもう一つ作るのはどうでしょうか。
ひとつのクエリーで全部をやろうとすると難しくなってしまうと思います。
ですから、先に「週報」のテーブルの[製品名]と[担当者]をグループ化したテーブルをクエリーを使って作成し、
そのテーブルをを今作ってるクエリーで呼び出してやればいいのではないでしょうか。
※デザインビュー
今作ってるクエリーは「選択クエリー」だと思いますが、メニューの「クエリー」というところで、クエリーの種類を選択できます。
そこで「テーブル作成」というのを選んで、適当なテーブル名を付けます。(カレントデータベースにチェックしてください)
そして、今度はなかみですが、テーブルの表示で「週報」のテーブルを選び、全てのフィールドをセットしてください。
このとき*は使用せずに、一つずつセットしてください。
そのときに[製品名]が一番左、その次に[担当者]がくるようにしてください。(左から優先されるため)
そして集計でグループ化します。そのとき[製品名]と[担当者]以外のものはグループ化以外のものに変えてください。
変えるといっても何にすればよいかわからないと思いますが、担当者が複数あった場合、そのなかのどれを表示するかによります。
例えば[部品コード]を「最大」にした場合は、[担当者]が同じなかで部品コードの番号が一番大きい[担当者]を選ぶようになると思います。
また、[カウント]を選んでレコード件数を返すというようなことも可能です。
わかりにくいかもしれませんけど、これでグループ化はできると思います。
上手くいかなかった場合はまた補足してください。
私もあまり詳しくないので、これよりももっといい方法があるとは思うのですが・・・
クエリーをもう一つ作るのはどうでしょうか。
ひとつのクエリーで全部をやろうとすると難しくなってしまうと思います。
ですから、先に「週報」のテーブルの[製品名]と[担当者]をグループ化したテーブルをクエリーを使って作成し、
そのテーブルをを今作ってるクエリーで呼び出してやればいいのではないでしょうか。
※デザインビュー
今作ってるクエリーは「選択クエリー」だと思いますが、メニューの「クエリー」というところで、クエリーの種類を選択できます。
そこで「テーブル作成」というのを選んで、適当なテーブル名を付けます。(カレントデータベースにチェックしてください)
そして、今度はなかみですが、テーブルの表示で「週報」のテーブルを選び、全てのフィールドをセットしてください。
このとき*は使用せずに、一つずつセットしてください。
そのときに[製品名]が一番左、その次に[担当者]がくるようにしてください。(左から優先されるため)
そして集計でグループ化します。そのとき[製品名]と[担当者]以外のものはグループ化以外のものに変えてください。
変えるといっても何にすればよいかわからないと思いますが、担当者が複数あった場合、そのなかのどれを表示するかによります。
例えば[部品コード]を「最大」にした場合は、[担当者]が同じなかで部品コードの番号が一番大きい[担当者]を選ぶようになると思います。
また、[カウント]を選んでレコード件数を返すというようなことも可能です。
わかりにくいかもしれませんけど、これでグループ化はできると思います。
上手くいかなかった場合はまた補足してください。
丁寧なご説明どうもありがとうございました。お礼が大変遅くなり申し訳ありません。日常業務におわれていて、インターネット開く時間がなかなか・・・。何度かチャレンジした結果、できました!やったぁ!!
クエリーのグループ化の優先順位を変え
>[製品名]と[担当者]以外のものはグループ化以外のものに変えてください
ここで手間取りましたが、なんとか一つのクエリーで可能となりました。大変勉強になり、ほんとに助かりました。この「教えて!goo」ページにも感謝します。有難うございました。
No.4
- 回答日時:
>回答有難うございます。
ACCESS初心者なので、SELECT [担当者] FROM 工程表テーブル GROUP BY [担当者];
これについては、先にmarmi1516さんが答えてくださいました。m(_ _)m 感謝!
#3の答えで完璧かと思いますが、まだ不足でしたら補足をお願いします。
>ごめんなさい。(自分がバカに思えてきた。)
いえいえ、こちらこそ説明不足でした。もしぶっきらぼうな回答にお気を悪くなさったとしたら、申し訳ありません。
ほんと、有難うございました。お礼が遅くなり、申し訳ありません。ほんと、これからもっともっと勉強していきたいと思います。有難うございました。
No.3
- 回答日時:
私もまだ経験が浅いので偉そうな事言ってもし間違っていたら申し訳ないのですが・・・。
SELECT [担当者] FROM 工程表テーブル GROUP BY [担当者];
というのはSQL文です。
クエリーを作成する時ってたいていはデザインビューで作成すると思うんですが、SQL文で、このようにSELECT文を書く事もできるんです。左上のほうに、「デザインビュー」「SQL」とかいうボタンがないでしょうか?
それで、切り替えが可能です。
ですから、これのSELECT文をSQL表示にして記述し、デザインビューで見ることもできますよ。
クエリーというのは、テーブルのデータを加工するものです。
ですから、使えるようになると本当に便利です。
このSELECT文の意味は「工程表テーブル」の「担当者」というフィールドを「担当者」でグループ化するということです。
SELECT [担当者] ← で抽出するフィールドを指定しています。
FROM 工程表テーブル ← は抽出もとのテーブルです。
GROUP BY [担当者] ← は抽出の条件を指定しています。”GROUP BY ”と言うのはグループ化で、こうすると担当者のフィールドには同じ名前が表示される事はなくなります。担当者が同じものをひとまとめにしてしまったということです。
GROUP BYのほかにもいろいろと抽出条件を指定する方法がありますが・・・
こんな説明で果たしてどのくらい伝わったか分かりませんが・・・・
もし間違っているところなどがありましたらどなたかよろしくお願いします。
この回答への補足
SQLボタン、ありました!今までデザインビューからしかクエリは作ったことがなかったので、これで解明しました。
しかしそれだと、製品名全部ひっくるめての担当者をグループ化してしまうのです。製品ごとに担当者数を出したいのです。今、出そうとしているレポートは以下のクエリからなっています。
(テーブルは週報、取引先コード、部品コードと3つをリレーションしてます。)
SELECT 週報.日付, 週報.担当者, 取引先コード.コード, 週報.取引先, 週報.製品名, 部品番号コード.部品名, 週報.[工数(H)], Year([日付]) AS 年, Month([日付]) AS 月
FROM 部品番号コード INNER JOIN (週報 INNER JOIN 取引先コード ON 週報.取引先 = 取引先コード.取引先) ON 部品番号コード.コード = 週報.部品コード
WHERE (((Year([日付]))=[YEAR(西暦)半角で入力してください]) AND ((Month([日付]))=[MONTH 半角で入力してください]))
ORDER BY 取引先コード.コード;
上記で理解されることを願いますが、これに
SELECT [担当者] FROM 週報 GROUP BY [担当者];
を追加すると、構文エラーがでてしまいます。 なので、デザインビューで担当者のところをグループ化してみると、全部のフィールドがグループ化されてしまいうまくいきません。勉強不足で大変申し訳ないのですが、どうすればよいかを教えていただけませんか?よろしくお願い申しあげます。
No.2
- 回答日時:
SELECT [担当者] FROM 工程表テーブル GROUP BY [担当者];
のようなクエリを作っておいて、
レポートから、
=DCount("担当者","クエリ1")
みたいな感じで呼び出せば出来ます。
不明点とかあれば、補足してください。
この回答への補足
回答有難うございます。ACCESS初心者なので、
SELECT [担当者] FROM 工程表テーブル GROUP BY [担当者];
が、よくわからないのです。
クエリにいれる式でしょうか?ごめんなさい。(自分がバカに思えてきた。)
申し訳ないのですが、詳しく説明願えないでしょうか?
よろしくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excelで在庫表(クエリ、ピボット) 2 2022/04/11 17:11
- 簿記検定・漢字検定・秘書検定 直接材料費 ¥1.000.000 直接労務費 ¥1.500.000 変動製造間接費 ¥300.000 2 2022/11/25 00:27
- Excel(エクセル) 生産日報と月間集計 3 2022/06/21 22:32
- その他(ビジネス・キャリア) スポット取引とは? 1 2023/04/06 15:23
- 数学 【 数A 条件付き確率 】 問題 ある品物を製造するとき、A工場の製品には5%、B工場の製品には3% 4 2022/10/08 18:18
- その他(ビジネス・キャリア) 今時の派遣社員って仕事が出来ないだけじゃなく計算も出来ないのか? 8 2022/07/22 20:53
- 統計学 確率について 会社ではある製品を生産しており、生産機会が3種類ある。製品はどれか一つの機会で作る。機 2 2022/05/30 18:33
- Excel(エクセル) 電卓は正しいのに エクセルで計算させると間違った答えです。なぜ? 7 2022/08/11 07:04
- その他(年金) エクセルの年月について 2 2023/02/04 07:12
- 建設業・製造業 工場見学兼面接に行きました。ピッキングした部品を置いたら、それを組み立て作業の方々が製造に当たるので 7 2022/07/27 14:21
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
2つのテーブルに共通するレコ...
-
最新日のデータのみ抽出するク...
-
Accessのリンクされたテーブル...
-
access vbaにてテンポラリーテ...
-
Acccessで2つのテーブルから1...
-
Access2007を同時に複数名で使...
-
accessについて(超初心者です)
-
Microsoft Access 「Form」のボ...
-
ACCESSで出欠リストを管理する
-
accessのテーブルを閉じたとき...
-
アクセスのリストボックス内の...
-
アクセスVBA現在開いている全て...
-
テーブルに表示されているもの...
-
Accessでテキストフィールドの集計
-
クエリで編集できるようにした...
-
Accessでリストの並び順を変更...
-
Accessで表計算のMatch関数のよ...
-
ACCESSユニオンクエリから新テ...
-
アクセス2000でのリンク先...
-
COBOLでHEXを印字する
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
2つのテーブルに共通するレコ...
-
最新日のデータのみ抽出するク...
-
テーブルに表示されているもの...
-
Acccessで2つのテーブルから1...
-
Accessでリストの並び順を変更...
-
Accessのリンクされたテーブル...
-
ACCESSユニオンクエリから新テ...
-
access vbaにてテンポラリーテ...
-
ACCESS テーブルを見比...
-
Accessのテーブルで、リンク?...
-
ACCESSでテーブルをコピーしよ...
-
アクセス 部分一致の抽出
-
accessについて(超初心者です)
-
Microsoft Access 「Form」のボ...
-
クエリで同一テーブルの複数回...
-
access2000・・テーブルをデー...
-
アクセス2016 チェックボックス...
-
Accessで使用しているリンクテ...
-
アクセス2000でのリンク先...
-
accessのテーブルを閉じたとき...
おすすめ情報