2017-07-07 20 views
1

VBプログラムでAccessデータベースを使用していて、フィールドに値があるとソートしています。複数の "LIKE"制約を持つTableAdapter

複数の条件を追加するにはどうすればよいですか? 2つの値が存在する場合と同様に、結果を表示します。

これは私が今持っているものです。

FROM Orders 
WHERE ([Level] LIKE 'DD') 

私も制約に([NAME] Like 'Smith')を追加する方法は?

FROM Orders WHERE ([Level] LIKE 'DD') AND ([NAME] Like 'Smith') 
+0

これらをANDまたはORで適切に連結します。すべてのSQL WHERE条件と同じです。あなたの例のように、最初または最後にワイルドカードを使わずにLIKEを使用するBTWはあまり意味がありません。ちょうど=を使用して処理時間を節約することもできます。 – ADyson

答えて

0

あなたも、あなたの条件に、より具体的に、さらにはそれらのカップルを組み合わせることができます:

''' I added wildcards for the example 
"SELECT * FROM Orders WHERE ([Level] LIKE '%DD%' AND ([NAME] LIKE '%Smith%' OR [NAME] LIKE '%Wilson%')) " & _ 
"OR ([Level] LIKE '%BB%' AND ([NAME] LIKE '%Sandy%' OR [NAME] LIKE '%Willy%')) 

このクエリは結果を返しますあなただけANDで条件を追加する必要があり

2

[レベル]にはDDが含まれ、[名前]にはスミスまたはウィルソンのいずれかが含まれます。また、[Level]にBBが含まれ、[NAME]にSandyまたはWillyのいずれかが含まれている場合にも結果が返されます。可能性はあなたの状況によっては無限です。

"ジョン"と "ジョン"は異なっています。それはあなたの検索をより効率的になり、あなたのクエリ

SELECT * FROM TABLE_NAME WHERE LCASE(field1) = LCASE(input) 

MS Access: LCase Function

にこのようなものを組み込みます。

+0

ああありがとう!私は&.....と一緒にコマンドをしようとしましたが、とhaha – user2839067

+0

それはSQLではないvb.net –

関連する問題