【发布时间】:2018-06-27 09:18:41
【问题描述】:
在我的 Excel VBA 代码中,我打开了与其他工作簿的连接。
With CreateObject("ADODB.Connection")
.CommandTimeout = 500
.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" _
& path & ";" & "Extended Properties=""Excel 12.0;HDR=NO;Readonly=true"";"
.Open
我想做这种线:
ThisWorkbook.Worksheets("Test").Range("H306:307").CopyFromRecordset .Execute("select * from [values$S8:S8]")
但是,工作表“值”可能不存在,这就是为什么我只想在没有错误或“值”存在的情况下才执行此行,但我不知道该怎么做.
【问题讨论】:
-
如果您使用 T-SQL,您可以检查您的选择计数,如果为 0,则检查
RAISERROR。 -
Dim count As Integer count = .Execute("select COUNT(*) from [values$S8:S8]") 类似的东西?
-
没有那样你只会得到计数。您需要选择“smth”,然后检查 count(smth)。
-
你有我的价值观的例子吗?