|
>Me.Filter = strWhere = "コード1 = " & Nz(検索コード.Value,0)
>この式でいいのか?
この式ではだめですね。
Filter プロパティには、条件式たる文字列、例えば、「数量 = 80」というような文字列を
設定します。
例えば、
Me.Filter = "数量 = 80"
のようにします。
しかし、本件では、「検索コード」テキストボックスの値を使うため、
条件式はその都度違うものとなります。
そのため、その都度、条件式たる文字列を生成する必要があります。
ただ、正しい条件式を作れているかどうかは、コードを見ているだけではわかりません。
とりわけエラーになった場合には、Filter プロパティに実際に渡された文字列を
確認したいところです。
その確認を容易にするため、条件式たる文字列は、通常、変数に格納します。
その確認の仕方ですが、
条件式を strWhere という String 型変数に格納するとします。
この変数への格納を行った次の行に、
Debug.Print strWhere
というコードを入れます。
このコードをが実行されると、 strWhere 変数に格納されている文字列が
イミディエイトウィンドウに表示されます。
その表示を見て、正しい条件式を作れているかどうかをチェックします。
>> strWhere = strWhere & " AND "
>strWhereが2つ出てきて、さらにAND
>イメージよりも完全に混乱しました。
strWhereが2つ出てくるというこのパターンですが、VBAではよく使います。
このコードの意味は、strWhereに格納された文字列の後に「 AND 」という文字列を
くっつけるというこです。
strWhereに「あいう」という文字列が格納されているとしたら、
上記コードを実行後は、strWhereに格納されている文字列は「あいう AND 」と変わります。
|
|