• ベストアンサー

曜日ごとの集計をしたい

はじめてデータベースを作成することになりました。 初心者用のマニュアル本を購入して、なんとか『テーブル』や『フォーム』の作成方法を覚えたのですが… 例えば商品の受注日を、画面入力時に自動で『02/09/30』というような感じで入るようにしました。 でもこれだと曜日が出てこないんですよね。 1ヶ月~3ヶ月、もっと長くて1年後に曜日ごとの受注数をクエリーを使って集計する予定なんですけど、曜日がわからなければ、集計できないのでは?との疑問が… 『曜日』というフィールドを作成して、クエリーを作成したほうがうまくいくような感じがするんですけど。 受注日から自動で、テキスト形式で例えば『月曜』というようにこのフィールドに入るようにするには、どのようにすればいいのでしょう? もしくは日付から曜日単位で集計できるようにする方法はあるのでしょうか? よろしくお願いいたします。

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

  • ベストアンサー
  • 20020718
  • ベストアンサー率48% (13/27)
回答No.1

クエリーのフィールドに、 Format([商品の受注日],"aaaa") と入力してみてください。 曜日がでます。 # [商品の受注日]は、対象のフィールド名で、日付型です。 で、それを基に集計すればできると思います。 kikumaroさんがどの程度ご存知なのかわからないので、 的外れならすいません。 > テキスト形式で例えば『月曜』 とのことですので、 Format([商品の受注日],"aaa") & "曜" とすれば、『月曜』となります。 蛇足ですが、 Format([商品の受注日],"aaaa") の、"aaaa"の部分は、以下のとおりです。 aaa : 曜日を省略形 (日本語) で表示します (日~土)。 aaaa : 曜日を日本語で表示します (日曜日~土曜日)。 Ddd : 曜日を省略形 (英語 3 文字) で表示します (Sun ~ Sat)。 dddd : 曜日を英語で表示します (Sunday ~ Saturday)。

kikumaro
質問者

お礼

早々のご回答ありがとうございます。 パソコン歴は長いくせに『パソコンはワープロ代わりとインターネットのみ』という、いつまでたっても初心者の私には、ただただ頷くだけの回答でございます。 以前ちょっとだけexcelをいじったときにaaaとかaaaaとかが出てきて、意味がわからず、やめてしまったことがあります。今回のことでそれも解決! ありがとうございました。

その他の回答 (2)

  • Nii
  • ベストアンサー率48% (79/162)
回答No.3

20020718さんが言われてる方法で、曜日のみの表示は出来ますが補足です。 入力フォーム上でも表示されたいと言う事でしたら、テキストボックスの書式に「yyyy/mm/dd aaa」と設定すれば、「2002/09/30 月」と表示されます。入力は、yyyy/mm/ddで入力出来、曜日まで打ち込む必要はありませんが、フォーカスがそのフィールドにいった時に、曜日は見えません。 日付のテキストボックス(yyyy/mm/dd)と曜日のテキストボックス(aaa)に分けてもいいのですが、あまり多くなると重くなりますので、出来るだけ一つにされた方がいいですよ。 後、今回の要件ではありませんが、集計する時に、Weekdayという関数があります。 日曜:1 月曜:2 火曜:3 ・・・ という感じで、与えられた日付に対応する曜日が数値で返ってきます。 計算をする時 [日付]-Weekday([日付],vbWednesday)でグループ化すれば、火曜日から一週間分に纏める事ができ、(だったと思う。あいまいな記憶なので試してからにして下さい。) Choose関数と同時に使用し、 Choose(Weekday([日付]),"日曜","月曜","火曜","水曜","木曜","金曜","土曜") これだと、Format([商品の受注日],"aaa") & "曜" と同じですが、 Choose(Weekday([日付]),"前半","前半","前半","後半","後半","後半","後半") でグループ化すれば、週の前半と後半で纏める事が出来ます。 以上、蛇足ですが。

kikumaro
質問者

お礼

お礼が遅れて申し訳ございません。 皆様からいただいた回答で、試行錯誤の末、ようやくこの部分が出来上がりました。 まだまだ関数の使い方が分からないので、アクセスと同時にエクセルの本まで購入して、扱っている状況です。 ありがとうございました。

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

答えは#1のご解答で済んでいます。さらに Format(○,"XXX")のXXXのところに入る記号で日時関連分を下記に列挙します。時間があるときに1つ1つやって見てください。直ぐ将来役に立ちますよ。 d,dd,ddd,aaa,dddd,aaaa,m,mm,mmm,mmmm,gg,ggg,e,ee,y,yy,yyyy,s,ss,n,nn,h,hh,AM/PM,am/pm MS社のofficeのVBAに共通で使える(目標?)。 但し未確認。

kikumaro
質問者

お礼

早々のご回答ありがとうございます。 >d,dd,ddd,aaa,dddd,aaaa,m,mm,mmm........... こんなにもあるとは… 今回の件で、formatって何?と調べる以前の問題になりそうです… ありがとうございました。

関連するQ&A