我编的合并数据库的程序合并速度太慢了.请求高手帮我改进,我编的原码如下:

huangmeibo 2008-10-16 03:50:03
hebinhoufilename = InputBox("请输入合并后文件名.", "提示", Year(Date) & Month(Date) & Day(Date) & "合并汇总")

'VB编辑器主窗体的【工程】菜单->【引用】,在弹出的窗体中选择【Microsoft ADO Ext. 2.X for DDL and Security】,“2.X”表示版本。
Dim cat As New ADOX.Catalog
Dim tbl As New ADOX.Table
Dim pstr As String
Dim DB As String
Dim counter
DB = App.Path & "\" & hebinhoufilename & ".mdb"
If Dir(DB) <> "" Then Kill DB'存在则删除便于重新建立.
If Dir(DB) = "" Then
FileCopy List1.List(0), DB'将选中的(选中的要合并的文件都在list里面)其中的一个文件复制到这里,就不用新建数据库存了.

pstr = "Provider=Microsoft.Jet.OLEDB.4.0;" '数据库驱动 4.0 For Office 2k/2003, 3.5.1 For Office 97
pstr = pstr & "Data Source=" & DB

'cat.Create pstr '建立数据库
'cat.ActiveConnection = pstr
'tbl.Name = "defects" '定义表名
'For i = 0 To zhiduangsu - 1 '定义字段
'tbl.Columns.Append Sujuwenjiansuzu(0, i, 0), Sujuwenjiansuzu(0, i, 1) '定义字段
'Next i
'cat.Tables.Append tbl '建立表
'For i = 0 To zhiduangsu - 1 '定义字段
'tbl.Columns(Sujuwenjiansuzu(0, i, 0)).Attributes = adColNullable
'Next i
Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
conn.Open pstr
rs.CursorLocation = adUseClient
rs.Open "defects", conn, adOpenKeyset, adLockPessimistic





For I = 1 To WENJIANSU - 1 '文件数'因第一个文件已经复制过来,只要把其它的文件追加到后即可.
Label4.Caption = "正在处理第" & I + 1 & "个文件"
Dim pstr11 As String
Dim DB11 As String

Dim conn11 As New ADODB.Connection
Dim rs11 As New ADODB.Recordset

DB11 = List1.List(I)
pstr11 = "Provider=Microsoft.Jet.OLEDB.4.0;" '数据库驱动 4.0 For Office 2k/2003, 3.5.1 For Office 97
pstr11 = pstr11 & "Data Source=" & DB11


conn11.Open pstr11
rs11.CursorLocation = adUseClient
rs11.Open "defects", conn11, adOpenKeyset, adLockPessimistic
rs11.MoveFirst
K = 0
Do While Not rs11.EOF

rs.AddNew '往表中添加新记录


For j = 0 To zhiduangsu - 1'字段个数
rs.Fields(j).Value = rs11.Fields(j).Value'每个记录的每个字段分开读取后赋值.不知道在这里能否一下读取全部数据一起追加到合并结果文件后???请高手在此步指导.谢谢
Next j
K = K + 1'统计读取了多少记录
Label2.Caption = K
rs.Update
rs11.MoveNext

Loop
conn11.Close
Label3.Caption = "处理完" & I + 1 & "个文件"
Next I



Else

MsgBox "此文件已经存在"
GoTo note
End If


MsgBox "处理完毕"

...全文
56 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

1,217

社区成员

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

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