谁能给我做一个vb+accsee的报表程序实例,我学学!(200分)

gohomesina 2003-05-17 03:45:48
要求:打印rst返回的记录集里的内容,可打所有的内容,也可打一条记录。麻烦在里面多加说明,因为我从来没用过报表!程序发过来后立即结帖!
...全文
113 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
tanyaliji 2003-05-19
  • 打赏
  • 举报
回复
up
mailto:liji525@163.com
thankyou!!!!!!!!!!!!
cnwd 2003-05-19
  • 打赏
  • 举报
回复
我给你发了一个,注意查收
flxa 2003-05-19
  • 打赏
  • 举报
回复
gz
lxcc 2003-05-19
  • 打赏
  • 举报
回复
http://www.21code.com/codebase/?pos=down&id=2028
  • 打赏
  • 举报
回复
你好:
试着找一些关于vb数据库地书看一下
gohomesina 2003-05-18
  • 打赏
  • 举报
回复
对不起,我没写邮箱。
cnlipeng@vip.sina.com
麻烦你给我发 过来好码?我是菜鸟,请多写点说明!
Daniel0318 2003-05-18
  • 打赏
  • 举报
回复
Option Explicit
'******************************************************
'建议A4纸打印
'******************************************************

Const PageLines = 25 '每页行数
Const xLeft = 15 '起始横坐标
Const yTop = 15 '起始横坐标
Const yHeader = 30

Dim Pages As Integer

Public Sub PrintList()

'主函数
Dim RecordCount As Integer
Dim i As Integer
Dim j As Integer
Dim l As Integer

'设置坐标
Printer.Scale (0, 0)-(160, 200)

'判断共几页
RecordCount = frmQuery.LVResult.ListItems.Count
If RecordCount Mod PageLines = 0 Then
Pages = RecordCount / PageLines
Else
Pages = Int(RecordCount / PageLines) + 1
End If

'打印每页
For i = 1 To Pages

'打印清单头
Call PrintHeader(i)

'计算每页打印行数
If i < Pages Then
l = PageLines
Else
l = RecordCount - (Pages - 1) * PageLines
End If

'打印该页内容
For j = 1 To l
Call PrintContent(j, (i - 1) * PageLines + j)
Next j

'若不是最后一页,换页
If i < Pages Then
Printer.NewPage
End If

Next i

'打印结束
Printer.EndDoc

End Sub

Private Sub PrintHeader(ByVal p As Integer)
'打印清单框架

'打印标题
Printer.FontSize = 20
Printer.FontBold = True
Printer.CurrentX = xLeft + 45
Printer.CurrentY = yTop
Printer.Print "信件查询单"

' 设置字体
Printer.FontSize = 10.5
Printer.FontBold = True


Printer.CurrentX = xLeft
Printer.CurrentY = 25
Printer.Print "查询时间:" & Format(Now, "yyyy年mm月dd日 hh时nn分")

'打印列头
Printer.CurrentX = xLeft
Printer.CurrentY = yHeader
Printer.Print "序号"

Printer.CurrentX = xLeft + 15
Printer.CurrentY = yHeader
Printer.Print "条码号"

Printer.CurrentX = xLeft + 40
Printer.CurrentY = yHeader
Printer.Print "来源"

Printer.CurrentX = xLeft + 65
Printer.CurrentY = yHeader
Printer.Print "目的"

Printer.CurrentX = xLeft + 90
Printer.CurrentY = yHeader
Printer.Print "登记时间"

Printer.CurrentX = xLeft + 55
Printer.CurrentY = 185
Printer.Print "第" & p & "页 共" & Pages & "页"

End Sub

Private Sub PrintContent(ByVal cl As Integer, ByVal fl As Integer)
'cl当前打印纸上行号
'fl当前列表中行号

Const LHeight = 5.8

'打印每条记录
Printer.CurrentX = xLeft
Printer.CurrentY = yHeader + cl * LHeight
Printer.Print rst.fields(1)

Printer.CurrentX = xLeft + 15
Printer.CurrentY = yHeader + cl * LHeight
Printer.Print rst.fields(2)

Printer.CurrentX = xLeft + 40
Printer.CurrentY = yHeader + cl * LHeight
Printer.Print rst.fields(3)

Printer.CurrentX = xLeft + 65
Printer.CurrentY = yHeader + cl * LHeight
Printer.Print rst.fields(4)

Printer.CurrentX = xLeft + 90
Printer.CurrentY = yHeader + cl * LHeight
Printer.Print rst.fields(5)

End Sub

807

社区成员

发帖
与我相关
我的任务
社区描述
VB 多媒体
社区管理员
  • 多媒体
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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