• ベストアンサー

Accessのクエリ / 曜日の表示について教えてください

お世話になっております。 Accessのクエリについて教えてください。日付から曜日を表示させたいのですが、うまくいきません。 アクセスのクエリの作成の画面で、フィールドのところに Weekdayname(Weekday[日付(MM/DD/YYY形式で日付が入って言います)]と入力したのにエラーが出て更新できません。 どうしたらいいのでしょうか? どうぞよろしくお願いいたします。

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

  • ベストアンサー
noname#79209
noname#79209
回答No.2

> Weekdayname(Weekday[日付(MM/DD/YYY形式で日付が入って言います)] これじゃ無理でしょう。 Weekdayname(Weekday([日付])) としないと。。。 むしろ、ただ[日付]フィールドを設定し、その書式に「aaaa」と設定すれば、「○曜日」と表示されます。 > エラーが出て更新できません 「更新」と言われていますが、「更新クエリ」なのでしょうか。 だとすると、あまり固定データとして曜日を置いてしまうのはお勧めしません。 もし、日付が変更されても曜日はそのまま残ってしまうので、日付と曜日の整合性が失われてしまいます。 また、更新するフィールドが文字列タイプでないのでエラーが出るのかも知れませんね。 曜日を表示させたいのなら、その都度、日付から書式で導き出す事をお勧めします。 ご参考まで...

montre
質問者

お礼

早速ご回答ありがとうございました。 御礼が遅くなって申し訳ありませんでした。 教えていただいたWeekdayname(Weekday([日付]))で解決いたしました。ありがとうございました! >あまり固定データとして曜日を置いてしまうのはお勧めしません。 もし、日付が変更されても曜日はそのまま残ってしまうので、日付と曜日の整合性が失われてしまいます。 アドバイスありがとうざいました。日付と曜日の整合性については全く考えていませんでした。今はAccessの練習段階なのですが、その後実践に入るときはぜひ書式から導き出したいと思います。 ありがとうございました。

その他の回答 (1)

回答No.1

原因はわかりません。別の方法を示します。Weekdayname関数にこだわられる理由があれば、別の方の回答をお待ちください。 別の方法として、Format関数を使用します。 Format([日付],"aaa")    日付を2007/11/17だとすると、土 の結果が得られます。 Format([日付],"aaaa")   日付を2007/11/17だとすると、土曜日 の結果が得られます。

montre
質問者

お礼

早速ご回答ありがとうございました。お礼が遅なって申し訳ありませんでした。 Format関数のことは知らなかったので、参考になりました。 ありがとうございました!

関連するQ&A

  • Accessの選択クエリーについて教えて下さい。

    Access2002です。 フイールド名DATEには01/01~12/31まで日付型(mm/dd)で入っています。 このデーターベースからクエリーで今日(MonthとDay)をクエリー実行で取り出すにはフイールドDATEの抽出条件はどのように書けばよいのでしょうか。よろしくお願いします。

  • Access2013 曜日 自動的表示のクエリ

    Access2013で、備忘録作成の為、[年月日] をテーブルに短いテキスト形式で、例20001205と初めの4桁を西暦、次の2桁を月、後の2桁を日で入力してあります。 この日の[曜日] を自動的に表示させるクエリのフィールドへの記入式を教えて下さい。宜しくお願いします。

  • Access カレンダーの曜日表示

    先日、こちらで教えていただいた方法で下記のように記述し、曜日を取得し表示できたのですが、 「月曜日」と表示されてしまい、不都合が生じましたので「月」だけ表示したいのですがどのようにすれば宜しいでしょうか? どなたかアドバイスお願い致します。 WeekdayName(Weekday(CDate(2005 & "/" & [月数] & "/" & [日付1])))

  • 「今日の日付を含む」と言う条件のクエリ(yyyy/mm/dd hh:mm形式)

    テーブル1の 日付フィールドには「yyyy/mm/dd hh:mm」形式にしているため 「2009/02/28 0:30」と入力されています。 クエリ1に SELECT テーブル1.日付 FROM テーブル1 WHERE (((テーブル1.日付)=Date())); とした場合は 「2009/02/28 0:30」 は表示されません。 テーブル1の 「2009/02/28 0:30」を「2009/02/28 0:00」にすれば クエリ1を実行すると「2009/02/28 0:00」のレコードが表示されます。 どうすれば日付+時間の場合も日付で抽出することができるのでしょうか? アクセス2003です。 よろしくお願いします。

  • ACCESS2000で、クエリの書き方教えてください。

    ACCESS2000のクエリで下記のような処理をしたいのですが構文の書き方がわからないので教えて下さい。 if [納入期限] < 今日の日付 [納付日] = 入金日を入力して下さい < 例 2005/8/10 > '真の場合、入金日を入力させ納付日に代入する。 (次のクエリフィールドへ移動) '単純に (次の次のクエリフィールドへ移動) (次の次の次のクエリフィールドへ移動) [納付日] = 今日の日付 '偽の場合、今日の日付を納付日へ代入する。 (次の次のクエリフィールドへ移動) (次の次の次のクエリフィールドへ移動) こんな感じですが、クエリで作成可能でしょうか? SQLとかVBは全くといっていいほど分からないので、出来ればクエリで処理したいのですが。。 よろしくお願いします。 ※[]は、テーブル上にフィールドがある分です。

  • 曜日ごとの集計をしたい

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

  • アクセスで日付を入力すると曜日がついてきちゃう

    アクセス2002を使い始めたばかりの初心者です。 フォームで日付の入力をすると日付のみしか出てこないのですが、テーブルの方を見ると日付と一緒に曜日が書かれています。 またクエリの抽出条件で日付を入力すると、曜日が自動的にくっついてきて「指定した式の構文が正しくありません」と出てしまいます。 自分でそうしたものなのか、さっぱりわかりません。 とても困っています。 どなたか教えてください。 よろしくお願いします。

  • ACCESS フォームで入力した日付をクエリで読み

    ACCESS フォームで入力した日付をクエリで読み替えたい ACCESS フォームで入力した日付をクエリで使用しているテーブルの書式に変換したい フォーム テキスト名:日付にyyyymmdd で入力します クエリ テキスト名:日付はパラメータとして使用しています クエリ内で使用しているテーブルの日付書式は 日付:yyyy/mm/ddです パラメータは 「日付始」と「日付終」の2箇所のテキストに入力されたデータを使用しています。以下がパラメータです。 Between [Forms]![フォーム]![日付始] and [Forms]![フォーム]![日付終] フォームのテキストボックスにyyyymmddと入力してもクエリでエラーが出ることない パラメータを日付に設定したいのですがどうしたらよいでしょうか? ちなみに、以下の式を入れたらエラーです。 Between CDate(Format([Forms]![フォーム]![日付始],"yyyy/mm/dd")) and CDate(Format([Forms]![フォーム]![日付始],"yyyy/mm/dd")) と入力しましたところ、、、、「式が複雑すぎるか、、、」のエラーメッセージが出てしまいました。 どなたか助けてください。お願い致します。

  • Access2013で翌日のデータのみのクエリ

    お世話になります。 Access2013を使用しており、2つの日付フィールドを比較して 翌日のレコードのみ抜き出したい場合のクエリについて質問で ございます。 日付Aフィールド と 日付Bフィールドが あり、それぞれ日付と時刻が書式yyyy/mm/dd hhmmss で格納されております。 このうち、クエリで抽出したいのは、 日付Bフィールドに格納されている、 日付Aフィールドの翌日のレコードのみを 抽出したいです。 その際、時刻(hhmmss)は無視して翌日のレコードを 抽出したいです。 例えば、 日付Aフィールドに 2016/08/24 15:00:00 2016/08/24 16:00:00 2016/08/24 17:00:00 というデータが格納されていて、 日付Bフィールドに 2016/08/25 00:00:00 2016/08/25 17:00:00 2016/08/26 00:00:00 というデータが格納されていた場合、 日付Bフィールドの 2016/08/25 00:00:00 2016/08/25 17:00:00 のみ抽出したいです。 この場合のクエリの設定方法を教えてください。 どうぞ宜しくお願いいたします。

  • アクセスの更新クエリについて

    アクセスの更新クエリにおいて、各レコードで繰り返し同じ数を入力しなければならないフィールドが3つあります。その3つをパラメータを設定し、更新クエリを設定して実行しようとすると2つまではパラメータで聞いてくるのですが、1つだけ聞いてきません。アドバイス宜しくお願い致します。

専門家に質問してみよう