コードを絞り込みましたが、直面している問題は、コードを調整してより多くの結果を含めようとするときです。
参照用データ表:
**OG_InUse**
*C_ID*
E011
E011_A
F012_D
**Csrc**
*C_ID*
E011
F012
G001
したがって、「_*」がある場合、機能するが結果を返さないコード
sSql = "SELECT DISTINCT C_ID FROM Csrc WHERE C_ID NOT IN (SELECT DISTINCT C_ID FROM OG_InUse)"
結果: F012 G001
上記のクエリを拡張して、OG_InUse から C_ID の最初の 4 文字だけを返そうとすると、問題が発生します (_A または _D などがあるケースを削除するため)。
sSql = "SELECT DISTINCT C_ID FROM Csrc WHERE C_ID NOT IN (SELECT DISTINCT Left(C_ID, 4) AS C_OG_ID FROM OG_InUse)"
次の結果になりたいです(ただし、アクセスは処理を試行し続けます):G001
クエリがそのようにつまずく原因となっている可能性のある提案はありますか? 私の最初の考えはエイリアスをチェックインすることですが、これを分割する以外にこれをテストする方法がわかりません(これを実行し、サブクエリは正しい結果セットを返します)。