一个表。包含多个组多人工作情况的内容。想通过报表打印出来。要求按照每一个人一个月的数据打印,也要每个组每个月的打印。请问怎么解决??
解决方案 »
- 请问如何浏览和打印纸质文件扫描件
- 求助... 整点报时程序, 语言不限
- 知道FORM的名字字符如"form1",如何执行这个窗体。
- MDI窗体中可否将进度条放在状态条的指定panel中?
- 哪位高人能解决这个问题:获得“当前”打开IE中某个textbox的value?(我的目的是让vb程序监控(当前打开)IE中某个textbox的值是否有变化
- 为什么getclassname在模块里得到的都是空值?着急
- WIN9X下枚举进程的方法在NT核心下能使用吗?
- 请高手指点迷津
- 用VB数据库对SQL Server2000数据库的完全操作
- 招聘懂VB/SQL Server的SYSTEM CONSULTANT
- 关于java API
- form.unload 与 form.hide有何异同。
08/09 李四 ER 200
08/09 张三 GT 300
08/10 李四 ER 150
08/10 张三 GT 350现在我想如果就拿张三,和李四的各用一张纸打印出来
08/09 张三 ER 300
08/10 张三 ER 350另一个
08/10 李四 GT 200
08/10 李四 GT 150
也用一张纸打印出来..
应该怎么实现???
'text1.text='張三' rs.open sql,conn,1,3
set datarepord.datasource=rs
On Error GoTo errHandlerr
'每一个人的数据打一张报表
Dim adoCnn As New ADODB.Connection
Dim adoRst1 As New ADODB.Recordset
Dim adoRst2 As New ADODB.RecordsetDim cSql As String
Dim ii As Integer'连接数据库 cSql = "SELECT DISTINCT 姓名 FROM 表 ORDER BY 姓名"
With adoRst1
If .State = adStateOpen Then .Close
.Open cSql, adoCnn, 1, 3
If .RecordCount <> 0 Then
.MoveLast
.MoveFirst
For ii = 1 To .RecordCount
cSql = "SELECT * FROM 表 WHERE 姓名='" + Trim(.Fields(姓名)) + "' ORDER BY 日期"
With adoRst2
If .State = adStateOpen Then .Close
.Open cSql, adoCnn, 1, 3
If .RecordCount <> 0 Then Set DataRepord.DataSource = adoRst2
End With
.MoveNext
If .EOF Then .MoveFirst
Next
End If
End With
Exit Sub
errHandlerr:
MsgBox Err.Description + ":" + CStr(Err.Number), vbCritical, "有错误发生 . . ."
End SubPrivate Sub Command2_Click()
On Error GoTo errHandlerr
'所有人的数据打一张报表
Dim adoCnn As New ADODB.Connection
Dim adoRst As New ADODB.RecordsetDim cSql As String
Dim ii As Integer'连接数据库 cSql = "SELECT * FROM 表 ORDER BY 姓名,日期"
With adoRst1
If .State = adStateOpen Then .Close
.Open cSql, adoCnn, 1, 3
If .RecordCount <> 0 Then Set DataRepord.DataSource = adoRst2
End WithExit Sub
errHandlerr:
MsgBox Err.Description + ":" + CStr(Err.Number), vbCritical, "有错误发生 . . ."
End Sub'复杂一点,你可在 SQL 语句中加入 GROUP BY 和 HAVING 进行按条件(姓名、时间、组别等)分组打印
Private Sub Command2_Click()
On Error GoTo errHandlerr
'所有人的数据打一张报表
Dim adoCnn As New ADODB.Connection
Dim adoRst As New ADODB.RecordsetDim cSql As String
Dim ii As Integer'连接数据库 cSql = "SELECT * FROM 表 ORDER BY 姓名,日期"
With adoRst
If .State = adStateOpen Then .Close
.Open cSql, adoCnn, 1, 3
If .RecordCount <> 0 Then Set DataRepord.DataSource = adoRst
End WithExit Sub
errHandlerr:
MsgBox Err.Description + ":" + CStr(Err.Number), vbCritical, "有错误发生 . . ."
End Sub