私のテーブルtable1FName
には、LName
、 、 の3 つのフィールドがありますPhone
。SQL クエリの実行に Microsoft Access 2010 を使用しています。一部の行には、空/null の phone 値があります。
検索パラメーターを受け入れる VB フォームがあります。ユーザーは(FName and LName)
またはを入力できます(Phone)
が、両方を同時に入力することはできません。
私がしようとすると:
SELECT table1.LName, table1.FName, table1.Phone
FROM table1
WHERE table1.LName Like ('*' & Forms!frmSearchMain!LName & '*') AND table1.FName Like ('*' & Forms!frmSearchMain!FName & '*')
ORDER BY table1.LName, table1.FName;
FName
指定された (およびLName
) パラメータに一致するユーザーのリストが表示されます。それは正常に動作します。
同様に、試してみると:
SELECT table1.LName, table1.FName, table1.Phone
FROM table1
WHERE table1.Phone Like ('*' & Forms!frmSearchMain!Phone & '*')
ORDER BY table1.LName, table1.FName;
Phone
指定された ( ) パラメータに一致するユーザーのリストが表示されます。それもうまくいきます。
しかし、これらの両方のクエリを組み合わせると、次のようになります。
SELECT table1.LName, table1.FName, table1.Phone
FROM table1
WHERE table1.Phone Like ('*' & Forms!frmSearchMain!Phone & '*') AND table1.LName Like ('*' & Forms!frmSearchMain!LName & '*') AND table1.FName Like ('*' & Forms!frmSearchMain!FName & '*')
ORDER BY table1.LName, table1.FName;
期待した結果が得られません。
(と) と ( ) 検索パラメーターOR
の間の条件も試しました。うまくいきません。の代わりにすべての検索パラメーターを試しましたが、これまでのところ運がありません。FName
LName
Phone
nz(frmSearchMain!Phone,"")
%
*
MS Access SQL クエリ形式は初めてです。私はこのタイプのクエリを MySQL で何度も使用してきました。しかし、これでは期待した結果を得ることができませんでした。
どんな助けでも大歓迎です。