我在Excel中使用VBA进行“SELECT”查询。
CommodityInfo = ObjAccess.CurrentProject.Connection.Execute( _
"SELECT TOP 1 Commodity FROM [" & CustomerName & "]")
它工作了。我正在努力使用CommodityInfo
变量中的信息。我可以在Locals窗口中看到信息在那里。我如何使用它来输出值?
第1项显示得很清楚,所以它被访问了。我如何从第1项中提取值并像使用字符串一样使用它?
Count
可以通过声明CommodityInfo.Count
来使用。
我尝试了ComVal = CommodityInfo(1).Value
,但出现错误
在与请求的名称或序号对应的集合中找不到项。
1条答案
按热度按时间2izufjch1#
正如注解中所指出的,您的代码正在打开一个记录集对象,而不是提取单个值。
由于字段索引从零开始,因此第一个字段使用0而不是1:
ComVal = CommodityInfo(0)
将单个字段值从记录集拉到简单变量。或者在Execute命令后附加字段索引引用,将单个字段值直接提取到简单变量中。
下面是拉取单个值而不是打开记录集的替代方法:
CommodityInfo = ObjAccess.DLookup("Commodity", "[" & CustomerName & "]")
。在我的测试中,它跑得更快。
不需要示例化Access应用程序对象变量就可以从Access中提取数据。我发现这段代码运行得最快。
或者