vb操作两个access的问题(高分请教,高手解决,解决立即给分了---好久没发问了)

nmgwangwei 2005-10-24 01:02:32
在两个access都有密码的数据库(1.mdb,密码:123;2.mdb,密码:234),用SELECT INTO把1.mdb中的student表插入到2.mdb中?

就如同以下select * into 表 in 目标文件 ______?____(这里应该加什么语句)  from 源表

要求一条语句解决。。。。
...全文
207 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
vbman2003 2005-10-24
  • 打赏
  • 举报
回复
to: faysky2()
我没看错问题的话两个都是ACCESS数据库啊!OpenRowSet可以用吗?
faysky2 2005-10-24
  • 打赏
  • 举报
回复
to: faysky2()
你的这个:
用insert into 吧:
cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\1.mdb;Jet OLEDB:DataBase password=123;"
cn.Open
cn.CursorLoaction=adUseClient
cn.Execute("insert into OpenRowSet('microsoft.jet.oledb.4.0',';database=c:\2.mdb','select * from student')
select * from student")
------------------------------------------------------------------------------
出现了:找不到输出表OpenRowSet
-------------------------------
你需要改一下数据库的路径哦,上面给的代码不完整,你试试这个,默认1.mdb、2.mdb都是在当前文件夹下

cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\1.mdb;Jet OLEDB:DataBase password=123;"
cn.Open
cn.CursorLoaction=adUseClient
cn.Execute("insert into OpenRowSet('microsoft.jet.oledb.4.0',';database=" & App.Path & "\2.mdb;Jet OLEDB:DataBase password=234','select * from student')
select * from student")

yitianyitian 2005-10-24
  • 打赏
  • 举报
回复
这个简单。
你先看SELECT语句的查询结果符不符合要求。
然后再SELECT后加个 INTO
vbman2003 2005-10-24
  • 打赏
  • 举报
回复
如果目标数据库(db2)中的表tb不存在,连接db1:
select * into [db2.mdb;pwd=234].tb from tb;
vbman2003 2005-10-24
  • 打赏
  • 举报
回复
insert into [db2.mdb;pwd=123].tb
select *
from tb;
nmgwangwei 2005-10-24
  • 打赏
  • 举报
回复
to: faysky2()
你的这个:
用insert into 吧:
cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\1.mdb;Jet OLEDB:DataBase password=123;"
cn.Open
cn.CursorLoaction=adUseClient
cn.Execute("insert into OpenRowSet('microsoft.jet.oledb.4.0',';database=c:\2.mdb','select * from student')
select * from student")
------------------------------------------------------------------------------
出现了:找不到输出表OpenRowSet


------------------------------------------------------------------------------
to:winehero(编程人生)
我的两个mdb都是有密码的。。。。。。

faysky2 2005-10-24
  • 打赏
  • 举报
回复
cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\1.mdb;Jet OLEDB:DataBase password=123;"
cn.Open
cn.CursorLoaction=adUseClient
cn.Execute("insert into OpenRowSet('microsoft.jet.oledb.4.0',';database=c:\2.mdb;Jet OLEDB:DataBase password=234','select * from student')
select * from student")
winehero 2005-10-24
  • 打赏
  • 举报
回复
select * into 表 in "d:\1.mdb"  from 源表

其中如果当前用JET的话,目标文件简单的传入文件全路径名(比如说"1.mdb"),并以双引号括起。。。
如果不是JET,参见以上我发的说明。
winehero 2005-10-24
  • 打赏
  • 举报
回复
select * into aaa in "d:\1.mdb" from Categories;

_______________________________________________________

IN 子句
标识在任何能够由 Microsoft Jet 数据库引擎连接的外部数据库(如 dBASE 或 Paradox 数据库或外部 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 用于创建 table 的数据库类型的名称(如果数据库不是 Microsoft Jet 数据库,例如 dBASE III、dBASE IV、Paradox 3.x 或 Paradox 4.x)。


说明
使用 IN 子句一次只能连接一个外部数据库。

某些情况下,path 参数所引用的路径包含了数据库文件。例如,当使用 dBASE、Microsoft FoxPro® 或 Paraox 数据库表时,该 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;"

注释

为了提高性能和易于使用,请使用链接表而不是 IN。

还可以使用 IN 保留字作为表达式中的比较运算符。

faysky2 2005-10-24
  • 打赏
  • 举报
回复
用insert into 吧:
cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\1.mdb;Jet OLEDB:DataBase password=123;"
cn.Open
cn.CursorLoaction=adUseClient
cn.Execute("insert into OpenRowSet('microsoft.jet.oledb.4.0',';database=c:\2.mdb','select * from student')
select * from student")
faysky2 2005-10-24
  • 打赏
  • 举报
回复

我在Access里用select * into 会出错,用到SQL是没问题的,不知道是不是Access不行还是什么问题

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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