当我使用“获取数据”从 Excel 建立连接时,访问查询丢失

MrM*_*ict -3 sql excel ms-access database-connection

假设您已经建立了一个不错的数据库,并且您想要生成一个只读 Excel 文档,以便其他人可以查看它,而不会弄乱源数据。打开 Excel,转到:

\n\n

数据功能区 \xe2\x86\x92 从数据库获取数据 \xe2\x86\x92 从 Microsoft Access 数据库 \xe2\x86\x92

\n\n

但是,当您在下一个窗口中预览数据库后,您会发现您需要的查询不在那里。

\n

MrM*_*ict 5

很可能会发生以下三种情况:

\n

1)你还没有保存你的数据库

\n

最可能的问题是您创建了查询,但尚未保存它或数据库。

\n
\n

2)现有连接可能需要刷新

\n

如果您已经建立了与 Excel 的连接,并且已确保数据库已保存,则下一个可能的问题是该连接已过期。即使它是“已连接”,表和查询的列表也可能会被缓存,并且在出现提示时不会自动更新。

\n

只需前往数据功能区 \xe2\x86\x92 全部刷新

\n
\n

3) 您的查询可能使用不兼容的表达式

\n

我刚刚惨痛地了解到nz()函数与 Excel 不兼容,因此当我尝试链接查询时,它不会显示在列表中。对于其他使用nz()的人,请使用iif(isnull())

\n

如果保存数据库或刷新连接后未显示您的查询,请尝试以下操作:

\n
    \n
  1. 在 Excel 中,转到数据功能区 \xe2\x86\x92从其他源获取数据 \xe2\x86\x92获取数据 \xe2\x86\ x92 从 Microsoft Query 获取数据 \xe2\x86\x92
  2. \n
  3. 将会弹出一个小窗口。选择MS Access 数据库,然后按确定
  4. \n
  5. 将弹出另一个窗口。导航到您的数据库目录,然后按“确定”
  6. \n
\n

这应该显示一个完整的表和查询的从那里,展开您需要的查询。它要么会毫无问题地连接,要么会识别无法识别的 SQL 表达式。

\n

  • 非常感谢您的第三个答案,我使用了 nz() 函数,并且绞尽脑汁为什么它没有在 Excel 中显示。 (2认同)