WEBページのフォームに入力された値からクエリを組み立てて、ASP(VBScript)からAccessデータベースのデータを表示させるWEBアプリケーションを作っているのですが、WHERE句に特定のフィールドが入った時にだけ、必ずエラー終を起こしてしまい、困っています。
ID
address
first_name
last_name
department
section
group
type
というフィールドがあって、typeはブール型、IDは数値型、それ以外はテキスト型です。
例えば、
SELECT * FROM memberlist WHERE type=true AND department='営業部' AND first_name LIKE '%山%' ORDER BY ID
なら、営業部で苗字に「山」を含むレコードが取得できますが、
SELECT * FROM memberlist WHERE type=ture AND section='営業推進課' ORDER BY ID
や、
SELECT * FROM memberlist WHERE type=true AND group='管理係' ORDER BY ID
など、section と group のフィールドがWHERE句の中に入ったらエラーになります。
何が原因なのか全く分からず、困っております。
対処法をご存知の方がいらっしゃいましたら、ご教授ください。
宜しくお願い致します。
No.2ベストアンサー
- 回答日時:
こんにちは ANo.1です
>Accessの予約語ということでしょうか?
http://support.microsoft.com/kb/286335/ja
これ↑ によると
「section」「group」「type」は予約語でしょうか?
>予約語の可能性も考えて、フィールド名変更も試したのですが、うまくいきませんでした
うーん、私の環境では、動くんだけど ^^;
とりあえず、これ↓は動かないけど ^^
>SELECT * FROM memberlist WHERE type=ture AND section='営業推進課' ORDER BY ID
type=ture → type=true だから
こんばんは。
ご回答ありがとうございます。
確かに、リストの中にありますね。
勉強不足ですみません。
> type=ture → type=true だから
これは転記ミスでした。
とりあえず、現在は問題なく動いている様子ですので、質問は締め切りとして、勉強することにしたいと思います。
ありがとうございました。
No.1
- 回答日時:
はじめまして
Access の予約語でしょうか?
フィールドの「group」、「section」の名前を変えてみたらどうでしょう?
または、[]でくくるとか?
SELECT * FROM memberlist WHERE type=ture AND [section]='営業推進課' ORDER BY ID
SELECT * FROM memberlist WHERE type=true AND [group]='管理係' ORDER BY ID
今後どんなエラーが出るか判らないので、名前変更が良いと思いますが...
ありがとうございます。
予約語の可能性も考えて、フィールド名変更も試したのですが、うまくいきませんでした。
ご回答の通り、[]でくくるとエラーを起こさず、レコードを取得できました。
[]でくくらなかった場合に表示されるエラーですが、
エラー:80004005
と表示されるだけです。
[]でくくるとうまくいったということは、やはりAccessの予約語ということでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) アクセス where句を使用して複数条件抽出をするには 2 2022/08/29 13:24
- Access(アクセス) アクセス 有効なフィールド名、または式として認識できませんのエラー 3 2022/08/19 11:53
- MySQL 下記の問合せを行うクエリを、PhpMyAdminで作成して実行せよ。 「名前(first name) 1 2023/06/24 13:03
- PHP php my adminより取り出したデータ表示 2 2022/06/15 11:56
- MySQL PhpMyAdminで作成して実行せよ。 東京23区を、皇居を中心とした4つのエリア(南東, 南西, 1 2023/06/11 11:58
- PHP if(preg_match("/[^0-9]/",$gu_d)){意味を教えてください。 1 2022/05/06 05:37
- MySQL SQLです。下記の問合せを行うクエリを、PhpMyAdminで作成して実行せよ。 「昨年の各月の総降 1 2023/07/01 00:32
- MySQL 書籍の内容はまともでしょうか? 1 2023/01/22 03:07
- MySQL うまくいきません教えてくださいお願いしますSQLです。クエリ構文です。 1 2023/07/07 12:39
- MySQL SQLです。こんな感じですか?あってますか? うまくいきません教えてくださいお願いします 1 2023/07/08 15:27
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
クリスタルレポートで困ってい...
-
日付と文字列を条件としてDLook...
-
2つ目のレコードの値を取得す...
-
accessでフィールド追加のあと...
-
Accessの画像挿入のVBAコード
-
オートナンバー型を抽出条件に...
-
クリスタルレポート(8.5)の書式...
-
SQLで複数のテーブルと結合した...
-
Accessのフィールド名に半角括...
-
(ADO)フィールド名から取得し...
-
DataTableに特定のフィールドが...
-
エクセルVBAでSQLを使ってアク...
-
C#で変数名の取得
-
フィールド名をループの添え字...
-
SQLでの日付比較
-
INT64対応のprintf系関数はあり...
-
VBA 変数名に変数を使用したい。
-
【ExcelVBA】値を変更しながら...
-
C#でbyte配列から画像を表示さ...
-
【C#】textBoxの指定行のデータ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Accessのフィールド名に半角括...
-
DataTableに特定のフィールドが...
-
accessでフィールド追加のあと...
-
INT64対応のprintf系関数はあり...
-
2つ目のレコードの値を取得す...
-
Access 2010で実行時エラー3061
-
日付と文字列を条件としてDLook...
-
AccessのDAOでフィールド名を配...
-
SQLで複数のテーブルと結合した...
-
テーブルのデータ型の変更がで...
-
フィールド名をループの添え字...
-
クリスタルレポート(8.5)の書式...
-
AccessVBAで他テーブルのデータ...
-
Accessの画像挿入のVBAコード
-
アクセスでADO 並べ替えが適用...
-
NULLを含む文字列の結合で...
-
クリスタルレポートで文字列の...
-
ACCESSデータベースにV...
-
ノーツ:ユーザ名から別名を取...
-
Access クエリで変数を参照する...
おすすめ情報