質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Access

Accessはマイクロソフトによるリレーショナルデータベース管理システムです。オブジェクト指向のアプリケーション作成に対応しており、テーブルや編集をはじめ、クエリ生成、入力フォーム作成、レポート作成など一通りの機能を備えています。

Q&A

解決済

2回答

2472閲覧

アクセス 有効なフィールド名、または式として認識できませんのエラー

susls

総合スコア8

Access

Accessはマイクロソフトによるリレーショナルデータベース管理システムです。オブジェクト指向のアプリケーション作成に対応しており、テーブルや編集をはじめ、クエリ生成、入力フォーム作成、レポート作成など一通りの機能を備えています。

0グッド

0クリップ

投稿2022/08/21 23:43

前提

アクセスでグラフを作成しています。
日付を指定してグラフ表示をしたいと思い、グラフのSQLを書き換えたところエラーが出てしまいました。

実現したいこと

日付を指定したら該当データが反映されるようにしたいです。
プロパティシートの値集合ソースを編集してWHERE [発行日] Between [日付はじめ] And [日付終わり]を加えて日付を指定しようとしています。

発生している問題・エラーメッセージ

有効なフィールド名、または式として認識できません
とエラーが出てしまいます

該当のソースコード

・SQL書き換え前、グラフ作成時のSQL(エラーは出ません)
TRANSFORM Count(*) AS [カウント] SELECT (Format([発行日],"'YY 年 MMM")) FROM [Qグラフ] GROUP BY (Year([発行日])*12 + Month([発行日])-1),(Format([発行日],"'YY 年 MMM")) PIVOT [進捗状況];

・SQL書き換え後、WHERE文追加(エラーが出ます)
TRANSFORM Count(*) AS [カウント] SELECT (Format([発行日],"'YY 年 MMM")) FROM [Qグラフ] WHERE [発行日] Between [日付はじめ] And [日付終わり] GROUP BY (Year([発行日])*12 + Month([発行日])-1),(Format([発行日],"'YY 年 MMM")) PIVOT [進捗状況];

試したこと

エラーが出るグラフ以外にもグラフが複数有り、他グラフも同じような書き換えをしました。
他グラフではエラーは無く動作します。

・他のグラフ書き換え(エラーがでません)
SELECT (Format([発行日],"'YY 年 MMM")),Count([見積ID]) AS [見積IDのカウント] FROM [Qグラフ] WHERE [発行日] Between [日付はじめ] And [日付終わり] GROUP BY (Year([発行日])*12 + Month([発行日])-1),(Format([発行日],"'YY 年 MMM"));

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sazi

2022/08/22 00:21

>・他のグラフ書き換え(エラーがでません) それを同じようなクロス集計にしてみてください。
susls

2022/08/22 01:38

ご回答ありがとうございます! 申し訳有りません、どのようにグラフの編集をすれば良いのか分かりませんでした… 既存のグラフに対して、系列や軸を増やす設定が追加で可能なのでしょうか? もし可能でしたら方法をご教示頂けますと幸いです。
sazi

2022/08/22 02:15

グラフの編集とは関係なく、単にクエリーをクロス集計に変更してみてそのクエリーがエラーにならないかどうかを試すんです。 条件を追加してエラーになったという事は、そこに記述している項目名で参照出来ていないという事ですから、[日付はじめ] [日付終わり]という項目が画面の項目名と一致しているかどうかじゃないかと思います。
susls

2022/08/22 02:45

クロス集計の事がよく理解できていません… 値集合ソースを右クリック→ビルド→フィールド追加でクロス集計への編集になりますでしょうか? エラーが出ないグラフを編集して上記作業を行いフィールドを追加したところエラーは出ませんでした。 項目名は一致しているかなと思います。 エラーが出ないグラフをグラフ1、エラーが出るグラフをエラー2とすると、条件は下記のようになります。 グラフ1(エラーなし) 参照クエリ:Qグラフ 追加項目:WHERE [発行日] Between [日付はじめ] And [日付終わり] →エラーなく動作=日付はじめ、日付終わりの項目は機能している グラフ2(エラーあり)参照クエリ:Qグラフ 追加項目:WHERE [発行日] Between [日付はじめ] And [日付終わり] →エラー発生 有効なフィールド名、または式として認識できません (追加項目のwhere句が無い場合は正常に作動します)
guest

回答2

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

susls

2022/08/23 04:59

ご回答ありがとうございます! リンク先を参照しながらパラメーターを設定したら動くようになりました。 ありがとうございました!
guest

0

[日付はじめ]と[日付終わり]がフォームの項目なら、そのフォームを開いた状態にしていないからだと思います。

投稿2022/08/22 02:57

sazi

総合スコア25195

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

susls

2022/08/22 04:09

フォームのデザインビューで編集→フォームビューで確認しているのでフォームは開いていると思います
sazi

2022/08/22 05:53 編集

では、追加した条件により抽出されるデータが1件もないのでしょう。 対処として思い付くのは、件数の有無によって、レコードソースを書き換える、若しくは、件数がある場合だけグラフ表示をするような画面構成に変更する。 それから、列見出しの固定(スケール(目盛)を固定にする。)ですね。
susls

2022/08/23 04:58

ご回答ありがとうございます! 解決しました
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問