在excel-Vba中收集分散的logging

我用两个具有相同逻辑但语法不同的查询来查询我的Excel表格。

rs.Open "SELECT * FROM [Sheet1$] WHERE [Sheet1$].ID NOT IN(SELECT [Sheet2$].ID FROM [Sheet2$] WHERE [Sheet2$].[ID] IS NOT NULL)", cn, adOpenKeyset, adLockReadOnly rs.Open "SELECT * FROM [Sheet1$] LEFT JOIN [Sheet2$] ON [Sheet1$].ID=[Sheet2$].ID WHERE [Sheet2$].CUSIP IS NULL ", cn, adOpenKeyset, adLockReadOnly With Worksheets("Sheet3$") .Range("A2:H2" & lastrow).Cells.ClearContents .Cells(2, 1).CopyFromRecordset rs End With 

我想使用查询2,现在我发现查询2的logging分散在整个表单中,我看到的logging的第一个实例是第26000行。 我怎样才能把所有这些logging放在一起?

我认为你的第二个查询缺less另一个命令。 就像AND [Sheet1$].ID IS NOT NULL
它不是随机显示的,它只是不会跳过[Sheet1$]NULL值。

试试像这样:

 rs.Open "SELECT * " & _ "FROM [Sheet1$] " & _ "LEFT JOIN [Sheet2$] " & _ "ON [Sheet1$].ID=[Sheet2$].ID " & _ "WHERE [Sheet2$].ID IS NULL " & _ "AND [Sheet1$].ID IS NOT NULL;", _ cn, adOpenKeyset, adLockReadOnly 

你可能也想检查这个链接 。