dポイントプレゼントキャンペーン実施中!

ものすごく初歩的な質問で失礼します。
Accessをはじめたばかりでテキストを見ながら操作しています。

フィールドの抽出条件として例えば「*東京*」と入力すると確定した後は「Like "*東京*"」と自動で「Like」が入ります。
「ま行」で始まる抽出をしたいので「[マ-モ]*」と入力した場合は自動で「Like・・・」となりません。
この場合は、自分で入力しなくてはいけないんですか?
何か規則みたいなのがあるのであれば教えてください。

ものすごく初心者ですので「こうやって考えるといいよ」というように教えていただけると助かります。

A 回答 (2件)

こんにちは。


確かにいじっていてこういう経験を私もしたことがあります。
質問者の問いに正確に答えられるのは多分マイクロソフト社の担当者
のみではないかと思います。
というのは、この自動変換というのは設計者が統計的に多くの使用者が
間違え易いケースを自動的に修正させているのです。

例えば「[マ-モ]*」では確かにエラーになりますが、「*[マ-モ]」だと
LIKE "*[マ-モ]"になるはずです。
これは本来LIKEは LIKE "*XXX*"と"で囲む、且つ*が付いたりするのが
正式です。
しかし、使用者がLIKEを宣言し、次に*を記述したのであれば、この*は
不特定文字で使用したと判断し次に[ ]で囲んであるので、この組み合わせだと認識させ正しく変換させようとしますが、*が逆に付いた場合
LIKEは[ ]この文字で検索するものと最初認識してしまい、後の*は
]にすぐ*をつける形は文法上ありえないの上、自動修正候補にないので
エラーとなるのでしょう。

ですので、規則性を追うよりは正しい文法の形を覚えていき、
手間が増えた場合、略せるか試しながら使うと考えた方が良いと
思います。

全く別のケースですが、アクセス97でサブフォームを作成し
そのフィールドに値の代入マクロを設定したりする場合、提供されている
作成ウィンドウで作るとエラーになるのです。
流れどおりにつくっているのにです。!
流れで作ると Forms![ABCフォーム]![XYZフォーム].フォーム![フィールド3] ですが
これではエラーで
動かすには  [Forms]![ABCフォーム]![XYZフォーム].[Form]![フィールド3]と
最初の[ ]の違いとフォーム![フィールド3]と[Form]![フィールド3]の[ ]を
なおさなければならないのです。
*これはアクセス2000でも修正されていませんでした。
 参考書をみて違いを見つけ出し、この時は作動させました。

この様に多々あると思いますので、規則性について全てお答えできる
使用者は多分いないだろうというのが私の私的見解です。

長文失礼致しました。
    • good
    • 0
この回答へのお礼

大変納得できました。
いけないとわかっていても、ついついこだわってしまうタイプなのでご説明いただき「理解」することができました。
お世話になりました。

お礼日時:2009/10/15 20:51

先頭文字だけの条件なら


少し不自然ですが Between "ま" And "も終"
    • good
    • 0
この回答へのお礼

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

お礼日時:2009/10/15 20:51

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