vb+access+excel 生成报表及打印的问题
以下是我的一个试验代码,这里是打印的代码,我想打印数据库中所有的内容,这个代码只能打印其中的一条,要怎么才能把所有的数据打印出来。
Private Sub print_Click()
Dim conn As Connection
Dim rs As Recordset
Dim strcon As String
Dim sql As String
Dim xlapp As Excel.Application
Dim xlsheet As Excel.Worksheet
Dim xlbllk As Excel.Workbook
Dim daa As String
Dim dab As String
Dim dac As String
Set conn = New ADODB.Connection
strcon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Documents and Settings\wanglimin\My Documents\tzkm\第一本.mdb;Persist Security Info=False"
conn.Open strcon
Set rs = New ADODB.Recordset
sql = "select * from 科目汇总表"
rs.Open sql, conn, adOpenDynamic, adLockOptimistic
Do While Not rs.EOF
daa = rs.Fields("借方科目编号")
dab = rs.Fields("贷方科目编号")
dac = rs.Fields("金额")
rs.MoveNext
Loop
Set xlapp = New Excel.Application
Set xlapp = CreateObject("excel.application")
xlapp.Visible = True
Set xlbllk = xlapp.Workbooks.Add
Set xlsheet = xlbllk.Worksheets(1)
xlsheet.Cells(2, 2) = daa
xlsheet.Cells(2, 3) = dab
xlsheet.Cells(2, 4) = dac
xlbllk.Save
xlsheet.PrintOut
xlapp.Quit
End Sub --------------------编程问答-------------------- 以下是我的一个试验代码,这里是打印的代码,我想打印数据库中所有的内容,
这个代码只能打印其中的一条,要怎么才能把所有的数据打印出来。
Private Sub print_Click()
Dim conn As Connection
Dim rs As Recordset
Dim strcon As String
Dim sql As String
Dim xlapp As Excel.Application
Dim xlsheet As Excel.Worksheet
Dim xlbllk As Excel.Workbook
Dim daa As String
Dim dab As String
Dim dac As String
Set conn = New ADODB.Connection
strcon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Documents and Settings\wanglimin\My Documents\tzkm\第一本.mdb;Persist Security Info=False"
conn.Open strcon
Set rs = New ADODB.Recordset
sql = "select * from 科目汇总表"
rs.Open sql, conn, adOpenDynamic, adLockOptimistic
Set xlapp = New Excel.Application
Set xlapp = CreateObject("excel.application")
xlapp.Visible = True
Set xlbllk = xlapp.Workbooks.Add
Set xlsheet = xlbllk.Worksheets(1)
i=2
Do While Not rs.EOF
daa = rs.Fields("借方科目编号")
dab = rs.Fields("贷方科目编号")
dac = rs.Fields("金额")
xlsheet.Cells(i, 2) = daa
xlsheet.Cells(i, 3) = dab
xlsheet.Cells(i, 4) = dac
i=i+1
rs.MoveNext
Loop
xlbllk.Save
xlsheet.PrintOut
xlapp.Quit
End Sub
把你的代码换个顺序就行。 --------------------编程问答-------------------- 不过我没测试你的代码。你自己试试。 --------------------编程问答-------------------- 谢谢了,问题解决了 --------------------编程问答-------------------- 还有一个问题,如果我把i先定义: for i=1 to rs.recordsetcount-1
这样行吗
补充:VB , 数据库(包含打印,安装,报表)