当前位置:编程学习 > VB >>

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 ,  数据库(包含打印,安装,报表)
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,