请教Access中IN子句 的用法。

cllxyuer 2003-12-29 04:42:17
请教Access中IN子句 的用法。

在Access中,以下语句执行成功。把SQL Server表Proudcts的
所有数据导入到本地的Access的Products表中。

select * into Products from Products IN [ODBC][ODBC;Driver=SQL Server;UID=sa;PWD=123456;Server=127.0.0.1;DataBase=Trade;]

但是,我目前只能到得一个SQL Server的连接字符串
provider=SQLOLEDB.1;Password=123456;User ID=sa;Initial Catalog=Trade;Data Source=127.0.0.1;
因为要从上面那个字符串中取密码/用户名/服务器有点麻烦.
能否把上面那个SQL语句中的[ODBC]之类的东东换成下面的那个连接字符串的连接方式?




______________________________________________________________________________
参考:
select * into Products from Products in "c:\test.xls" "excel 8.0;"
能够将Excel中的数据导入到Access中。

______________________________________________________________________________
Accesss中的In子句帮助:
IN 子句
标识出外部数据库中的表,例如dBASE或Paradox数据库,或Microsoft Jet外部数据库,Microsoft Jet数据库引擎能够与之相连。

语法
标识目标表:

[SELECT | INSERT] INTO destination IN
{path | ["path" "type"] | ["" [type; DATABASE = path]]}

标识数据源表:

FROM tableexpression IN
{path | ["path" "type"] | ["" [type; DATABASE = path]]}

包含 IN 子句的SELECT 语句具有以下几个部分:

部分 说明
destination 外部表的名称,将数据插入表中。
tableexpression 表的名称,可从这些表中获取数据。这个变量可能是一个单独的表名,一个已存查询,或是 INNER JOIN, LEFT JOIN, 或 RIGHT JOIN.
Path 目录或文件的整个路径,而且这些目录或文件包含 table 。
type 数据库类型的名称,如果数据库不是 Microsoft Jet 数据库(例如 dBASE III、dBASE IV、Paradox 3.x或Paradox 4.x),则用此类型创建 table 。


说明
通过 IN 你一次只可以连接一个外部数据库

在某些情况中,path 参数可引用包含数据库文件的目录。例如,当使用 dBASE、FoxPro或 Paradox 数据库表时,path 参数将指定包含 .dbf 或 .db 文件的目录。由 destination 或 tableexpression 参数可得到表文件的名称。

为了指定非 Microsoft JET 数据库,可在名称之后附加分号 (;),并用单引号 (' ') 或 (" ") 双引号将它括入。例如可用 'dBASE IV;' 或 "dBASE IV;"这两种写法。

也可使用 DATABASE 保留字指定外部数据库。例如,以下示例指定相同的表:

... FROM Table IN "" [dBASE IV; DATABASE=C:\DBASE\DATA\SALES;];

... FROM Table IN "C:\DBASE\DATA\SALES" "dBASE IV;"

...全文
726 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
超人汪 2003-12-30
  • 打赏
  • 举报
回复
学习学习,顶
zjcxc 元老 2003-12-30
  • 打赏
  • 举报
回复
你的有问题啊:

select * into Products
from Products IN --这里是什么意思?
[ODBC][ODBC;Driver=SQL Server;UID=sa;PWD=123456;Server=127.0.0.1;DataBase=Trade;]




--如果是从SQL取数并生成表,应该用:
select * into Products
from [ODBC;Driver=SQL Server;UID=sa;PWD=123456;Server=127.0.0.1;DataBase=Trade;]
cllxyuer 2003-12-30
  • 打赏
  • 举报
回复
那不是跟我最上面提到的一样?
cllxyuer 2003-12-30
  • 打赏
  • 举报
回复
我是没有问题的。

FROM tableexpression IN {path | ["path" "type"] | ["" [type; DATABASE = path]]}


Products IN [ODBC][ODBC;Driver=SQL Server...]
表名, 关键字 类型 数据库

zjcxc 元老 2003-12-29
  • 打赏
  • 举报
回复
SELECT *
FROM [ODBC;Driver=SQL Server;Server=远程SQL服务器名;Uid=用户名;Pwd=密码;database=数据库名].表名
cllxyuer 2003-12-29
  • 打赏
  • 举报
回复
up
cllxyuer 2003-12-29
  • 打赏
  • 举报
回复
可是,要导出的的表在原来的Excel中是没有的。
txlicenhe 2003-12-29
  • 打赏
  • 举报
回复
MSSQL可以如下:

/*************导出到Access********************/
insert into openrowset('Microsoft.Jet.OLEDB.4.0',
'x:\A.mdb';'admin';'',A表) select * from 数据库名..B表

/*************导入Access********************/
insert into B表 selet * from openrowset('Microsoft.Jet.OLEDB.4.0',
'x:\A.mdb';'admin';'',A表)
solidpanther 2003-12-29
  • 打赏
  • 举报
回复
http://expert.csdn.net/expert/forum.asp?url=/Expert/ForumList.asp?roomid=1804&typenum=1&xmlsrc=&whichpage=1

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧