直接和通过 VBA excel 运行相同的存储 Access SQL 查询时获得不同的结果
Posted
技术标签:
【中文标题】直接和通过 VBA excel 运行相同的存储 Access SQL 查询时获得不同的结果【英文标题】:Getting different results while running the same stored Access SQL query directly and through VBA excel 【发布时间】:2012-12-27 07:39:11 【问题描述】:嘿,下面的存储访问查询在通过 VBA excel 运行时为 POEventCode 提供“NA”,并且在直接从访问中运行时给出正确的结果。为什么会出现这种异常?
SELECT D.[Event Code] & D.[Week Code] AS POEventCode, *
INTO A
FROM (SELECT IIf([Advertisement type]='Tabloide','TAB',
IIf([Advertisement type]='Flyer','FLY','NA')) AS [Event Code],
IIf(([Start Date]>[SD] And [Start Date]<[ED]),
[Month] & Right([WM_WK],2),'NA')
AS [Week Code], *
FROM [Feature A-Traits] AS C, [Event Code] AS B)
AS D
WHERE (D.[Week Code]) Not Like '*NA*'
And (D.[Event Code]) Not Like '*NA*';
【问题讨论】:
这是一个看起来很混乱的 SQL,你想达到什么目的? 【参考方案1】:如果您使用 ADO 通过 VBA Excel 运行查询,那么您的通配符必须是 % 而不是 *,所以:- Not Like '%NA%'
【讨论】:
我尝试对此投赞成票,然后投反对票(最终决定我不确定答案的有效性)。我最终得到了一个净反对票,这不是故意的。我现在似乎无法解决问题,我深表歉意。 @Smandoli - 没问题。如果您无法让 Excel 查询使用 % 通配符,请再次发布更多信息(您在查询的两个地方都需要它们)。以上是关于直接和通过 VBA excel 运行相同的存储 Access SQL 查询时获得不同的结果的主要内容,如果未能解决你的问题,请参考以下文章
excel2010每次写好VBA运行完成之后,保存为xlsm格式。关闭后就打不开了,也不能创建副本?
excel 运行VBA效率变低了 原来excel运行VBA程序,很快就执行完毕,现在运行相同的程序,效率变得很慢
利用VBA向excel表格中写入数据后,再次运行程序的话写入速度会非常慢