| 
    
     |  | こうちゃん、まえださん、おはようございます。 
 >ichinoseさんもおっしゃってますが、SQLを一度見直してみてはいかがでしょう。
 >
 >たとえば
 >
 >>db4 = "WHERE (`DB$`.得意先名='" & dbAitem & "') AND (`DB$`.売上対策<>'"
 >db4 = "WHERE (`DB$`.得意先名='" & dbAitem & "') AND (`DB$`.売上対策<>'')"
 >
 >とかではいかがでしょう。
 こうちゃん、フォローありがとうございます。
 
 まえださん。
 
 売上対策という列のデータの型を確認してくださいね。
 
 db4 = "WHERE (`DB$`.得意先名 = '" & dbAitem & "') AND (`DB$`.売上対策 Is Not Null)"
 
 なんてのも試してみて下さい。
 
 それから、Array関数のネストの記述もこのコードでは、
 本来は、必要ないように見えました。
 
 db1 = "ODBC;DSN=Excel Files;DBQ=C:\損益データ.xls;DefaultDir=C:\Data;DriverId=790;MaxBufferSize=2048;PageTimeout=5;"
 db2 = "SELECT `DB$`.コード, `DB$`.得意先名, `DB$`.年月日, `DB$`.売上対策"
 db3 = " FROM `C:\損益データ`.`DB$` `DB$`"
 db4 = " WHERE (`DB$`.得意先名='" & dbAitem & "') AND (`DB$`.売上対策 Is Not Null)"
 
 
 With ActiveSheet.QueryTables.Add(Connection:=db1, Destination:=Range("A1"))
 .CommandText = db2 & db3 & db4
 
 この辺ですが・・・。
 確認してみて下さい。
 
 
 |  |