- ベストアンサー
アクセスでの時間の並びかえについて教えてください
ヘルパー派遣会社のスタッフの担当表を作成しています。レコードには「利用者名」「開始時間」「終了時間」「スタッフ名」があります。このデータが一日50件程あります。開始時間の早い順に並べたくレポート作成時の並びかえで昇順を指定してもダメでした。レポートの元になるクエリでは並びかわっています。もう1つ問題があります。一人の利用者が一日に2件ヘルパーを利用することがあります。朝7:00と夜19:00に利用する場合は7:00の下に19:00が並んで欲しいのでレポート作成時に月、日、利用者の順番でグループ化しました。説明不足で申し訳ありませんがよろしくお願いいたします。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
1回では無理なような気がします。 (1)クエリーの集計で 名前 開始時間 グループ化 最小値 を一旦作っておき、 (2)(1)と元のテーブルクエリーにして (1)開始時間 名前 開始時間 昇順 昇順 昇順 という感じにしてはどうでしょう? うまく動かなければ、(1)をテーブル作成クエリーにして 並び順の基準となるテーブルにすればよいかと思います。
その他の回答 (4)
- O_cyan
- ベストアンサー率59% (745/1260)
#2の者です。 >朝6:00と夜18:00に利用する場合は6:00の下に18:00 >が並んで欲しいのです もしかしてテーブルの開始時間・終了時間のフィールドをテキスト型にしていませんか?それで6:00とか18:00と入力をしているのですか?テキストで6:00と18:00では18:00の方が昇順では上にソートされます。フィールドのタイプを日付/時刻型にするかテキストでも6:00ではなく06:00と入力すれば私の並び替えのでOKのはずです。 その辺を再度確認していただきたいのですが。
#1 tihit です。 伊藤一郎 I 6:00 7:00 田中さん 伊藤一郎 I 18:00 19:00 佐藤さん 鈴木次郎 I 7:00 8:00 田中さん 加藤五郎 I 8:00 9:00 前田さん ↑ ↑ ↑ 並べ替え1 並べ替え2 並べ替え3 フィールドを並べ替え順にします。 #1に書きましたがフィールドの順位が一番優先されます。 同じごとの繰り返しですから自信なしです。
- O_cyan
- ベストアンサー率59% (745/1260)
レポートの並び替え/グループ化で 月 昇順 日 昇順 利用者 昇順 開始時間 昇順 の順で並び替えをすれば希望する並びになります。
補足
ご指導ありがとうございます。ほぼ完成に近い形になりましたが、問題があります。一人の利用者が一日に2件ヘルパーを利用することがあります。朝6:00と夜18:00に利用する場合は6:00の下に18:00が並んで欲しいのです。具体的に書きますと,(Iは縦線と見てください) ―――――――――――――――――――――――- I 利用者名 I 開始時間 I 終了時間 I ヘルパー名 I ―――――――――――――――――――――――― I 伊藤一郎 I 6:00 I 7:00 I 田中さん I I伊藤一郎 I 18:00 I 19:00 I 佐藤さん I I 鈴木次郎 I 7:00 I 8:00 I 田中さん I I 加藤五郎 I 8:00 I 9:00 I 前田さん I 基本的に開始時間昇順ですが、早い時間の下に後の時間を挿入したいのですが、可能でしょうか?
一つの例として参考にしてください。 利用者ID 作業開始 終了 作業時間 以上を並べ替えの条件があるフィールドとします。 優先順位は、利用者ID 作業開始 作業時間 の順とします。クエリーのフィールドは利用者ID 作業開始 作業時間 でよろしいかと。クエリーはご存じと思いますが表のフィールド位置が左のほうから並べ替えが優先されますので、この場合利用者IDは重複があってもよいようにテーブルデザインで考えてください。 利用者IDは不便なら利用者ふりがなでもよいでしょう。 ご参考になれば幸いです。 テストしたわけではありませんので、自信なしです。
補足
ご指導ありがとうございます。上記のやり方ですと利用者ごとには時間の早い順になりますが、全体の時間の並びがばらばらになってしまいました。基本的に開始時間は利用者全員をとおして昇順で複数回利用される方のみ一回目の開始時間の下に二回目の開始時間がはいります。開始時間の昇順を利用者のグループ化に優先させることは可能でしょうか?