電子書籍の厳選無料作品が豊富!

添付画像をご覧ください。

「品番」フィールドと「品番の大文字化」フィールドとを比較し、その結果を「判定」に返すクエリを作成しました。小文字を含んだ品番があった場合、判定で1で返すようにしているのですが、「判定」の抽出条件に1を入力して、クエリを実行すると、パラメータの入力が求められてしまいます。

結果としては、判定:1のみを抽出したかったのですが、それがうまくできません。

どうしたらよいでしょうか。。


「品番」フィールド
→品番

「品番の大文字化」フィールド
→品番大文字化: StrConv([品番],1)

「判定」フィールド
→判定: StrComp([品番],[品番大文字化],0)

「アクセス クエリがうまく動きません」の質問画像

A 回答 (3件)

3次以降に作成されたフィールドの検索条件はダメなようですね



判定の式を入れ子にしたらいけました

判定: StrComp([品番],StrConv([品番],1),0)
    • good
    • 0
この回答へのお礼

期待していた回答でした。ありがとうございました。

お礼日時:2014/01/10 23:10

クエリの動作はともかく、テキストの大小比較をするなら、


「バイナリ型」に目を通しておくと良いですよ

YU-TANGさんのページ

参考URL:http://www.f3.dion.ne.jp/~element/msaccess/AcTip …
    • good
    • 0
この回答へのお礼

ありがとうございました。勉強になりました。

お礼日時:2014/01/10 23:11

方法その1)


最初に作成したクエリを「判定」の抽出条件には何も入力しないで保存します。->クエリ1
もう一つ新たに選択クエリを作成して、データソースを上記で保存したクエリ1にします。->クエリ2
クエリ2の「判定」の抽出条件に1を入力して保存して、実行すると判定:1のみを抽出できると思います。

方法その2)
クエリのクエリを作成するのはイヤだという場合は、最初に作成したクエリのSQLを直接下記のように書き変えて保存します。実行すると判定:1のみを抽出できると思います。

SELECT テーブルA.品番, テーブルA.品番大文字化, テーブルA.判定
FROM (SELECT テーブルA.品番, StrConv([品番],1) AS 品番大文字化, StrComp([品番],[品番大文字化],0) AS 判定
FROM テーブルA) テーブルA
WHERE テーブルA.判定=1;
    • good
    • 0
この回答へのお礼

助かりました。ありがとうございました。

お礼日時:2014/01/10 23:10

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!