如何通过asp批量写入access

来源:百度知道 编辑:UC知道 时间:2024/09/25 04:31:40
我需要把一个access中的部分资料通过asp批量导入到另一个access中
我已经建立了一个页面,在页面中通过"文本框"(name=user)来显示需要倒入的字段.然后发送到另一个页面:
另一个页面怎么写?

<%
User=trim(htmlencode(request.form("User")))
qq=trim(htmlencode(request.form("qq")))
iii=trim(htmlencode(request.form("iii")))
If User="" then
Response.Write "<script>alert('带*的项目必须填写完整,其余未填写项目必须保留no!');this.location.href='sh.asp';</SCRIPT>"
Response.End
End If

If Pass<>Pass0 then
Response.Write "<script>alert('两次密码不一致!');this.location.href='sh.asp';</SCRIPT>"
Response.End
Else
a = iii
for User=1 to a
Set mRs= Server.CreateObject("adodb.recordSet")
mRs.open "Select * from adminff", conn, 2, 3
mRs.addnew
mRs("User")=User
mRs("qq")=qq
mRs.update
mRs.close

我们可以善用ACCESS数据库的查询功能,只需要打开一个数据库。
例如我们要把 mb.mdb (目标)中的 A 表导入到 md.mdb(目的) 中的 B 表中;
mb.mdb 可以放到任何路径中,假设现在在 d:\asp\hswscx\ 中;
现给出简单代码,如下:

xuasmdb="md.mdb" '目的数据库
set conn=server.CreateObject("adodb.connection")
DBPath = Server.MapPath(xuasmdb)
conn.open "provider=microsoft.jet.oledb.4.0;jet OLEDB:Database Password='';data source="&DBpath
exec="INSERT INTO [B] SELECT top 10000 * FROM [d:/asp/hswscx/mb].A WHERE (((A.日期)>#12/31/2005#));"
set rs=server.createobject("adodb.recordset")
rs.open exec,conn,1,3
conn.close
set conn=nothing

以上代码可以看出我们只打开了目的数据库md.mdb的连接,而没有打开目标数据库mb.mdb的连接;在查询语句中,关键是from 后的"[d:/asp/hswscx/mb].A","d:/asp/hswscx/"目标数据库的绝对路径,"mb"目标数据库注意隐去后缀名.mdb,"A"目标数据库中数据表;后面的条件可以是任何。top 最好是控制在20000条以内,这样速度闪快。

如果A表中有自动编号的话,可以先在md.mdb 中建立一个除自动编号外的选择查询,命名为Acx,查询语句仍为“SELECT * FROM [