IF文でのワイルドカードの使用方法

解決


困ったちゃん  2004-01-05 13:14:51  No: 111039  IP: [192.*.*.*]

明けましておめでとうございます。
今年もどうかよろしくお願いいたします。

TEXTBOXに表示されている番号の先頭が1からはじまれば。。。
という条件文をVB6.0で作成したいのですが、
ワイルドカードの指定方法が違うのかうまく動きません。
(番号は11桁あります。)

どのように記述すればいいのでしょうか?



IF FORM1.TXT番号.TEXT = "1*" THEN
(以下省略)

編集 削除
たかみちえ  URL  2004-01-05 13:30:54  No: 111040  IP: [192.*.*.*]

VBにはLIKEという演算子があります。IF文でワイルドカードを使うには、それを使いましょう。

編集 削除
困ったちゃん  2004-01-05 13:38:08  No: 111041  IP: [192.*.*.*]

たかみちえさん  どうもありがとうございます。

IF FORM1.TXT番号.TEXT = "LIKE '1*'" THEN
としてみたのですがダメでした。
どう書けばよろしいのでしょうか?

また、LIKEはSQL文中以外でも使用できるのでしょうか?

編集 削除
GOD  2004-01-05 13:46:17  No: 111042  IP: [192.*.*.*]

LIKE演算子は↓みたいにして使用してください。
If FORM1.TXT番号.TEXT LIKE "1*" Then

ただ、今回の場合はLEFTを使用した方がわかりやすいかも
If Left(FORM1.TXT番号.TEXT,1) = "1" Then

編集 削除
困ったちゃん  2004-01-05 13:49:08  No: 111043  IP: [192.*.*.*]

すいません。。。まったく勘違いしてたのですね。

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

編集 削除
特攻隊長まるるう  2004-01-05 13:54:52  No: 111044  IP: [192.*.*.*]

それじゃ FORM1.TXT番号.TEXT が『LIKE '1*'』であるかどうか判断してるし(汗)
たかみちえさんもLIKEという『演算子』があると書いてあるでしょう?
ヘルプで『Like 演算子』を検索してみて下さい。

[VB6.0]
Dim MyCheck As Boolean

MyCheck = FORM1.TXT番号.TEXT Like "1*"

If MyCheck Then
    Debug.Print "1から始まってます。"
End If

編集 削除