标题:期待解答:将符合条件的数据导入到另一个文件夹下的数据库中去 (access)
只看楼主
sznt
Rank: 2
等 级:论坛游民
帖 子:161
专家分:20
注 册:2005-8-4
结帖率:66.67%
已结贴  问题点数:20 回复次数:9 
期待解答:将符合条件的数据导入到另一个文件夹下的数据库中去 (access)
以下是代码,能否改写一下,将符合条件的数据导入到另一个文件夹下的数据库中去,谢谢
拜托了,这方面太欠缺了,苦恼了好长时间,希望您再次帮助一下。
'下面是一段简易代码,可以将符合条件的数据导入到一个临时表中
'程序运行后,将会在原数据库中创建一个TmpTable表
'如果数据库中存在此表,则会出错,这里就没有写了,你可以事前判断有没有,有的话先DROP吧



Dim Conn As ADODB.Connection'工程要引用ADO哦
Dim Rs As ADODB.Recordset
Dim Rs1 As ADODB.Recordset
'下面代码的正常运行,需要在窗体上画一个按钮,二个文本框
Private Sub Command1_Click()
If Len(Text1) = 0 Or Len(Text2) = 0 Then
   MsgBox "请在两个文本框中输入需要导出的起止ID"
   Exit Sub
End If
   Path = App.Path
   Set Conn = New ADODB.Connection
   '请修改下面数据库文件的位置,这里是在工程文件夹下的PX.MDB
   Conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Path & "\px.mdb;Persist Security Info=False;"
   Conn.Open '上面是创建数据库连接,并打开数据库
   '下面的代码将创建一个临时表TmpTable,并将原表中符合所输入的起止ID条件的数据存入临时表TmpTable中
   Set Rs = New ADODB.Recordset
   Rs.Open "select  科目一,科目二,科目三,日期,ID INTO TmpTable from dfg where id>=" & Text1 & " and id <=" & Text2, Conn, 1, 1
   Conn.Close
   
End Sub


[ 本帖最后由 sznt 于 2009-8-8 20:13 编辑 ]
搜索更多相关主题的帖子: 不说也罢 数据库 access 版主 期待 
2009-08-06 11:54
sznt
Rank: 2
等 级:论坛游民
帖 子:161
专家分:20
注 册:2005-8-4
得分:0 
发现论坛里的人越来越少了,不过我还是喜欢这里,期待解答
2009-08-10 13:38
sznt
Rank: 2
等 级:论坛游民
帖 子:161
专家分:20
注 册:2005-8-4
得分:0 
生命不息,等待不止,有能力的人就不能援助一下么,多谢了
2009-08-13 00:10
sznt
Rank: 2
等 级:论坛游民
帖 子:161
专家分:20
注 册:2005-8-4
得分:0 
持续等待
2009-08-18 07:09
不说也罢
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:39
帖 子:1481
专家分:4989
注 册:2007-10-7
得分:20 
'以下是一个示例,拿去用吧
'需注意的是,本代码是假定源数据库和目标数据相应表的定义是一致的。
Dim Conn As New ADODB.Connection
Dim Rs As New ADODB.Recordset
Dim SQL As String
'假定工程目录下db1.mdb为源数据库,d:\db2.mdb为目标数据库
SQL = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\db2.mdb;Persist Security Info=False"
Conn.Open SQL

'admin为源表名,admin111为目标表名
SQL = "Insert into [admin111]  Select [name],[pass] From [admin] in '" & App.Path & "\db1.mdb' where [name]='no'" '粗体部分条件语句自已写吧
'注意:上句中的[name],[pass]。。。。宜逐一列举
非主键的字段
Conn.Execute SQL
MsgBox "数据复制完毕"


'最近很忙,PM未能及时回复

===================================================
讨厌C#的行尾的小尾巴;和一对大括号{ }
===================================================
2009-08-18 12:40
sznt
Rank: 2
等 级:论坛游民
帖 子:161
专家分:20
注 册:2005-8-4
得分:0 
谢谢,如醍醐灌顶,好感谢多次无私的帮助。
2009-08-18 20:33
sznt
Rank: 2
等 级:论坛游民
帖 子:161
专家分:20
注 册:2005-8-4
得分:0 
SQL = "insert into admin111 select ZXZ,YXZ,QGJB,TJRQ,TJYYMC,GXSJ  from admin  in '" & App.Path & "\db1.mdb' where  编号=" & Text1 & ""

可以正常输出,但要再次输出时会发生错误,我需要的是象Conn, 1, 3那样可以累计重复输出,另外如何实现大于text1并且小于text2得区间数值输出,类似于( where 编号>=" & Text1 & " and 编号 <=" & Text2, Conn, 1, 3),请再次指点一下,谢谢。
2009-08-18 22:57
不说也罢
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:39
帖 子:1481
专家分:4989
注 册:2007-10-7
得分:0 
SQL = "insert into admin111 select ZXZ,YXZ,QGJB,TJRQ,TJYYMC,GXSJ  from admin  in '" & App.Path & "\db1.mdb' where  编号>=" & Val(Text1) & " and 编号 <=" & val(Text2)  即可。:
1)字段“编号”应为数值型
2)select 后面列举的字段不能有主键,你新建工程然后调试示例代码
3)示例代码完全可以累计重复输出,你可以在复制数据之后将CONN关闭并销毁
4)建议在编程时养成把表名和字段名用[]括起来的习惯。
收到的鲜花
  • sznt2009-08-19 18:46 送鲜花  5朵   附言:行家出手 自是不同

===================================================
讨厌C#的行尾的小尾巴;和一对大括号{ }
===================================================
2009-08-19 11:38
sznt
Rank: 2
等 级:论坛游民
帖 子:161
专家分:20
注 册:2005-8-4
得分:0 
谢谢,行家出手,自是不同。
2009-08-19 18:44



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-281780-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.118696 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved