Excel表不从正常运行的Access查询中导入数据

时间:2014-04-09 19:13:47

标签: ms-access ms-access-2007

好吧,我有一个Access DB,我试图将数据导入Excel。具体来说,我试图导入我在Access中编写的查询结果。

我在Access SQL中编写了此查询(我还在所有Access数据库中启用了符合ANSI 92的语法功能)。

他们查询并不是任何令人难以置信的事情。它一直在Access中运行得很好。 Access没有问题。问题是,当我向WHERE添加特定条件时 我的查询的子句,链接的Excel文件将不会导入数据。 Excel文件只显示没有数据的表格区域。

但是,如果从我的查询中的WHERE子句中删除了此条件,则链接的Excel表格可以正常刷新,并且表格会填充查询结果,无问题。

以下是查询的图片:(我用画笔绘制了第一张照片,因为它让我发笑,我在我的小隔间里很无聊) enter image description here

这是在添加其他条件后查询的图片,这似乎阻止我的Excel表格显示查询结果中的任何数据: enter image description here

我的问题很简单,为什么会发生这种情况呢(请详细说明)? Excel中是否存在某种我不了解的查询大小限制?

另外,如果可能的话,解决方案会很好。但如果有必要,我可以在没有此条件的情况下运行查询我更感兴趣的是了解这个问题背后的原因。

5 个答案:

答案 0 :(得分:1)

一旦与您建立连接Access数据库,您是否尝试过连接 - >属性 - >定义标签。将Command Type更改为SQL并将SQL文本复制到显示Command Text的框中。我遇到了同样的问题,但这似乎解决了这个问题。适合我。

答案 1 :(得分:1)

我遇到了同样的问题并找到了类似的解决方案。在Excel中使用SQL时,使用Like "Car*"的命令不起作用。 Alike "Car%"会产生正确的结果。

此处记录了这种情况的原因:CodeVBA

  

在SQL-89兼容模式下,LIKE仅适用于*和?模式,但   如果您将兼容性更改为SQL-92,则需要重写您的   使用%和_的查询。 ALIKE允许您编写ANSI兼容   模式,无论您选择的兼容性级别如何(所以   SQL-92兼容模式,两者的行为相同)。

答案 2 :(得分:0)

我在一个新角色中遇到了类似的问题,我只能想象我的经理认为我是一个愚蠢的人。但是,我明白了。它是excel选项中的信任中心设置,您需要启用所有外部数据。

答案 3 :(得分:0)

我有同样的问题,经过一些调试后我发现部分查询是使用Access中的对象(表单中的切换按钮)。因此,当表单关闭时,这不可用,并且它对Excel没有意义,因此它不提供导入它。这就是发生在我身上的事情,希望它有所帮助。

答案 4 :(得分:0)

另一种解决方法是使用与原始查询相同的字段来创建并运行一个make table查询,实质上是将现有查询转换为表。

然后将表而不是查询导入到Excel。

您必须有2个查询而不是1个查询,并且必须记住在每次更新数据时都运行两个查询,但是不必更改原始查询运行的代码。