在 MS Access 2007 中对 ODBC 表导入 sql 查询
Posted
技术标签:
【中文标题】在 MS Access 2007 中对 ODBC 表导入 sql 查询【英文标题】:Import sql query on ODBC table in MS Access 2007 【发布时间】:2014-10-04 11:20:37 【问题描述】:使用 MS Access 2007 我想只检索 ODBC 表的一部分。 我可以在 Access 中导入整个表,但我不需要全部,当我只需要某些列时存储整个表会浪费空间和性能。
在 Excel 中,我编写了一个 SQL 查询,让我只检索我感兴趣的部分。我想知道的是:是否可以在 Access 中仅导入 SQL 查询的结果,或者我有检索整个表,然后对其运行查询?
是否可以使用内置的 Access 模块,还是应该使用 VBA?
编辑:基本上我想在Access中运行下面的ODBC数据连接(目前在Excel中使用)。
连接字符串:
DSN=BLA1;
UID=BLA2;
DBQ=BLA3;
PWD=BLA4;
DBA=W;
APA=T;
EXC=F;
FEN=T;
QTO=T;
FRC=10;
FDL=10;
LOB=T;
RST=T;
GDE=F;
FRL=F;
BAM=IfAllSuccessful;
MTS=F;
MDI=F;
CSR=F;
FWC=F;
PFC=10;
TLO=0;
命令字符串:
SELECT *
FROM TEST TEST
WHERE (TEST.DATE_STAMP=?)
当我尝试链接数据库时,我收到错误 The database engine can't find 'WTD.DATAPOINT_5/1000'. Make sure it is a valid parameter or alias name, that it doesn't include characters or punctuation, and that the name isn't too long.
,但是当我使用 Excel 数据库连接时,我没有收到任何错误,并且所有内容都已更新。
【问题讨论】:
你知道DATAPOINT_5/1000
来自哪里吗?它是表中的列名吗?或者它可能是视图中的列公式(将DATAPOINT_5
除以 1000)?我仍然很困惑.... :(
我可以告诉你这不是一个专栏,但除此之外我不能告诉你太多。我不知道它来自哪里,但我可以肯定的是,使用 excel 检索数据我没有收到任何错误消息。
【参考方案1】:
您不需要导入整个表格。您可以链接到 ODBC 表,然后针对该链接表运行生成表查询以仅复制您需要的行和列。
【讨论】:
我刚尝试链接它,但我收到错误:“数据库引擎找不到'WTD.DATAPOINT_5/1000'。确保它是一个有效的参数或别名,它没有' t 包含字符或标点符号,并且名称不能太长。” @Leo 我不确定你的意思。请使用更多详细信息编辑您的问题。您是否创建了 ODBC DSN?当您尝试在 Access 中创建链接表时,您是否收到错误消息?还是当您尝试运行生成表查询时,如果是,查询是什么样的? 我刚刚编辑了这个问题。我希望现在事情更清楚了,如果没有,请告诉我!以上是关于在 MS Access 2007 中对 ODBC 表导入 sql 查询的主要内容,如果未能解决你的问题,请参考以下文章
ODBC:用于 MS Access 的 SQL Server 2008 驱动程序