- ベストアンサー
Accessについて
Microsoft Access97を使用して出面管理(出勤簿)を管理しているのですが、 日・月・年ごとの合計を計算する際2001年を起点にするとと計算しません。 たとえば2000年12月16日から2001年1月15日までは該当データを合計し 印刷などはできますが2001年1月16日から2月15日までだと合計が0(つまり計算されない)になります。 どなたか対応策をご存知の方がいらしたらぜひ教えてください.
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
SQL文でどうなっていたか具体的な内容が知りたかったのですが... 集計開始日~集計終了日という考え方では難しいのでしょうか。 たとえば、日付型で、 「>=#2001/01/01# And <=#2001/12/31#」 と指定すれば、その間の日付のものが抽出できます。 この日付をVBAで変数で指定するようにすれば、任意の期間のデータが抽出できるようになるはずです。 その抽出されたデータをグループ化するなり他のクエリーで使うなりすればいいのではないでしょうか?
その他の回答 (4)
- KojiS
- ベストアンサー率46% (145/312)
2001年の起点ですが、クエリーではどう書いていますか? 2000年起点の場合と違うところはありますか? このクエリーの具体的な内容がわからないと添削できません。 こちらで試したのは、日付型と数値型の2つのフィールドを持つテーブルから、クエリーで日付で範囲指定して抽出してみました。
- KojiS
- ベストアンサー率46% (145/312)
テーブルでのデータの持ち方をどのようにしているかが知りたい内容です。それは日付型ですか? あとは、クエリーで検索と集計を行っているのなら、そのクエリーの内容です。 そこら辺を書いていただけると、添削できるのですが。 ただ単に検索(抽出)するだけでもうまくいかないのか、合計を計算する時だけうまくいかないのか等、具体的に何をしてどれがうまくいかなかったのかを言っていただきたいと思います。 こちらでテストしてみた限りでは日付型もテキスト型でもそれなりにうまく動くのですが。
補足
回答ありがとうございます。テーブルでのデータの持ち方ですが、毎日追加 更新・変更がありますので日付型で行っています。 クエリーの内容ですが、仕事内容での分類・日時(日・月・年)で分類しています。 計算の不具合に関してですが、起点が2001年だと抽出も合計も計算されません。(2000年起点だと可) 実際のデータの入力方法はこうです。 仕事内容の選択→日付入力→作業詳細の選択→該当人名の選択(作業時間含む) あとは別の仕事内容の選択→以下同じの繰り返しです。 そして該当人を選択した時点でその日の作業時間は合計されます。 同時に個人データ・作業内容データ・作業詳細データ・年間データ等へ保存されます。 まわりくどくなりましたが要は出面管理ということですね。 必要(計算・印刷)となるのは月別の会社全体の出面・月別の作業内容ごとの出面 年間の出面というわけです。 専門家の方ならたいした問題ではないのでしょうがAccess初心者の私にはかなり 問題なのでよいアドバイスお願いいたします。(MDEファイルなのもかなりネックのような気がします。)
- ponpon
- ベストアンサー率19% (67/345)
すみません,全然回答ではなく追い討ちをかけるようですが…実は私も同じことで困り果てています。 access2000なのですが。 例えば抽出条件を[1月5日~]だけにすると抽出できませんか? 私は現在もっとスペシャリストの子に依頼してあるので分かりましたら書きこみますね。
- KojiS
- ベストアンサー率46% (145/312)
検索方法や計算方法が全くわからない(プログラムなのかクエリーなのか等)ので、返答のしようがありません。
補足
わかり難くてすみませんでした。 検索方法は主に時間(日・月・年)で区切りそれを基に個人・会社全体のデータを 抽出する方法。 もうひとつは共通する項目(仕事の内容等の分類)を基にデータを抽出する方法です。 計算方法は個人データ(時間・内容・日時)すると項目別(会社全体・内容別・日時別)に集計されます。 検索および集計はクエリーを基に行っています。
補足
2001年の起点(=抽出データの開始日)は数値型(長整数型)で設定されています。集計方法はグループ化となっています。2000年起点と特に変わったところはありません。 このクエリーの内容ですが作業内容・開始日・対象年・対象月をグループ化し 指定して抽出します。 同じクエリー内にまた日ごとの作業時間・残業時間(つまり31日分)が集計方法=合計で構成されています。 ちなみにこのクエリー自体は追加クエリーで構成されています。