Sarchi = "select * From 送付先マスタ Where 会社名 ='" & Text15 & "' OR 漢字氏名 ='" & Text16 & "'"
抽出にLIKEをいれると頭の文字だけ入力で抽出できると聞いたのですが
上記のどこにいれればよいのですか?
あと数字項目と文字項目を同時に抽出しようとするとデータの型が違います
となりますが同時にはできないのでしょうか?
# 「Sarchi」→「Search」の意味かな?
> 抽出にLIKEをいれると頭の文字だけ入力で抽出できると聞いたのですが
実行させる条件が、例えば
WHERE 会社名 = 'Microsoft'
になっているとして、これを
WHERE 会社名 LIKE 'M%'
とすれば、Mで始まる会社名全てがヒットします。
なお、LIKEは「文字列型」に対する検索で利用されます。(数値型列には使いません)
それと、データベースによって、LIKEで使える『ワイルドカード』が
異なりますので、その点は注意してください。
例えばOracle, SQL Serverの場合は、『_』が「任意の1文字」を表し、
『%』が「0文字以上の任意の文字列」を意味します。
一方Jetの場合は、クエリモードがANSI SQL 92の時は上記と同様ですが、
ANSI SQL 89を利用する場合は、『?』が「任意の1文字」を表し、
『*』が「0文字以上の任意の文字列」を意味する事になります。
(Jetの場合はさらに、『#』『[』『]』などを使った表現もサポートされています)
> データの型が違いますとなりますが同時にはできないのでしょうか?
抽出条件の指定が間違っていないか、確認してみてください。文字列型の列の場合は、
WHERE 電話番号 = '012-345-6789'
のように、両端を『'』で囲む必要がありますが、数値型列では、
WHERE 年齢 = 71
のように、両端を『'』で囲まずに指定する事になります。
もし、
WHERE 電話番号 = '012-345-6789' OR 年齢 = 71
と書くべき所を、
WHERE 電話番号 = '012-345-6789' OR 年齢 = '71'
のように書いてしまうと、データベースによっては、『型が違います』という
エラーを返してくる事がありますので、指定内容をよく確認してみてください。
(ただしデータベースによっては、「'」が付いていてもエラーとならず、そのまま処理される物もあります)
魔界の仮面弁士さん丁寧な説明ありがとうございます。
抽出でSearch = "select * From 送付先マスタ Where 会社名 LIKE 'Text15%' "
としましたが結果該当なしになってしまいます。
これはなんででしょうか?
できました
ツイート | ![]() |