dbエンジンが、Mike SmithのName値が両方のテーブルで同じであることに同意するかどうかを確認します。 @JohnFxが述べたように
SELECT
[Name] AS name_field,
Len([Name] AS name_length,
'TABLE1' AS source_table
FROM TABLE1
WHERE
[Name] ALike '%Mike%'
AND [Name] ALike '%Smith%'
UNION ALL
SELECT
[Name] AS name_field,
Len([Name] AS name_length,
'TABLE2' AS source_table
FROM TABLE2
WHERE
[Name] ALike '%Mike%'
AND [Name] ALike '%Smith%'
ORDER BY 1, 3;
は、末尾のスペースの可能性に加えて、あなたの名前の値が空白でない目に見えない文字が含まれる場合があります。 Excelのデータソースからインポートするときにこのような文字が発生しました。
更新:あなたはDAOを使用してクエリを実行している場合、あなたはこのようなWHERE句を修正することができます
WHERE
[Name] Like '*Mike*'
AND [Name] Like '*Smith*'
しかしADOの需要ので、ADOの下でクエリを実行するとき句は、トラブルになるWHEREことANSIワイルドカード(*と?の代わりに%と_)を使用します。 ALike(ANSI Like)キーワードは、ANSIワイルドカードを使用するようにdbエンジンに指示します。したがって、クエリがDAOまたはADOのどちらで実行されても同じ動作をします。
余分なスペースがないことを確認しましたか?また、万が一フィールドの予約語がありますか?すべての – crix