这段vba是什么意思?导入数据的
来源:网络收集 作者:解语人 时间:2008-4-28 12:44:38
Sub Macro1()
Macro1 Macro
宏由 shenxin 录制,时间: 2007-12-12
Dim Conn1 As New ADODB.Connection
Dim Rs As New ADODB.Recordset
Set Conn1 = CreateObject(ADODB.Connection)
Conn1.ConnectionString = Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\data\FundInfo.MDB
Conn1.Open
Set Rs = CreateObject(ADODB.Recordset)
Rs.Open Select * from gzb, Conn1, adOpenStatic
Do While (Notrs.EOF) 循环显示指定条数的记录
MsgBox Rs(Pkg_Cd)
Rs.MoveNext 指向下一条记录
If Rs.EOF Then Exit Do 已经到底最后一条记录则跳出
Loop
sheet_i = 1 按照工作表的排列顺序,并不是名字顺序
cell_col = 1 插入记录的列
For nIndex = 1 To Rs.RecordCount
cell_row = nIndex 插入记录的行
Sheets(sheet_i).Cells(cell_row, 1).Value = Rs.Fields(FKmbm)
Sheets(sheet_i).Cells(cell_row, 2).Value = Rs.Fields(FKmmc)
Sheets(sheet_i).Cells(cell_row, 3).Value = Rs.Fields(FHqjg)
Sheets(sheet_i).Cells(cell_row, 4).Value = Rs.Fields(FHqbz)
Sheets(sheet_i).Cells(cell_row, 5).Value = Rs.Fields(FZqsl)
Sheets(sheet_i).Cells(cell_row, 6).Value = Rs.Fields(FZqcb)
Sheets(sheet_i).Cells(cell_row, 7).Value = Rs.Fields(FZqsz)
Sheets(sheet_i).Cells(cell_row, 8).Value = Rs.Fields(FGz_zz)
Rs.MoveNext
Next nIndex
MsgBox Data initialize successful.
Rs.Close
Conn1.Close
End Sub
有谁能详细解释下这段vba
看看解释得是否清楚?
Sub Macro1()
'定义ADO的Connection和Recordset对象,先要在引用ADO库
Dim Conn1 As New ADODB.Connection
Dim Rs As New ADODB.Recordset
'创建Connection对象
Set Conn1 = CreateObject("ADODB.Connection")
'设置Connection对象的连接字符串,连接到指定的Access数据库文件
Conn1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\data\FundInfo.MDB"
'打开连接
Conn1.Open
'创建Recordset对象
Set Rs = CreateObject("ADODB.Recordset")
'打开数据库中表gzb的所有记录
Rs.Open "Select * from gzb", Conn1, adOpenStatic
' Do While (Notrs.EOF) '循环显示指定条数的记录
' MsgBox Rs("Pkg_Cd")
' Rs.MoveNext '指向下一条记录
' If Rs.EOF Then Exit Do '已经到底最后一条记录则跳出
' Loop
sheet_i = 1 '按照工作表的排列顺序,并不是名字顺序
cell_col = 1 '插入记录的列
'循环返回Recordset对象的所有记录,RecordCount表示记录行数
For nIndex = 1 To Rs.RecordCount
cell_row = nIndex '插入记录的行
'分别在工作表中第1列到8列显示数据库表中的对应的列
Sheets(sheet_i).Cells(cell_row, 1).Value = Rs.Fields("FKmbm")
Sheets(sheet_i).Cells(cell_row, 2).Value = Rs.Fields("FKmmc")
Sheets(sheet_i).Cells(cell_row, 3).Value = Rs.Fields("FHqjg")
Sheets(sheet_i).Cells(cell_row, 4).Value = Rs.Fields("FHqbz")
Sheets(sheet_i).Cells(cell_row, 5).Value = Rs.Fields("FZqsl")
Sheets(sheet_i).Cells(cell_row, 6).Value = Rs.Fields("FZqcb")
Sheets(sheet_i).Cells(cell_row, 7).Value = Rs.Fields("FZqsz")
Sheets(sheet_i).Cells(cell_row, 8).Value = Rs.Fields("FGz_zz")
'移动到下一个记录
Rs.MoveNext
Next nIndex
MsgBox "Data initialize successful."
'关闭Recordset和Connection对象
Rs.Close
Conn1.Close
End Sub