在查询中实现分组打印问题?
Private Sub Cmdprint_Click()Set cnn = New ADODB.Connection
cnn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=入库管理.mdb;Persist Security Info=False"
cnn.Open
If Check1.Value = 0 And Check2.Value = 0 Then
DR1.Show
End If
If Check1.Value = 0 And Check2.Value = 1 Then
DataEnvironment1.rsCommand1_分组.Open "select 供应商名称,入库单编码,入库时间,入库类别,进价,实付价格,折扣,入库性质 from 入库单 where 入库单编码 >= '" & Trim(Combo1.Text) & " 'and 入库单编码<='" & Trim(Combo2.Text) & "' ", cnn, adOpenKeyset, adLockOptimistic
DR2.Show
End If
If Check1.Value = 1 And Check2.Value = 1 Then
DataEnvironment1.rsCommand1_分组.Open "select 供应商名称,入库单编码,入库时间,入库类别,进价,实付价格,折扣,入库性质 from 入库单 where 入库单编码 >= '" & Trim(Combo1.Text) & " 'and 入库单编码<='" & Trim(Combo2.Text) & "' And 入库时间 >=#" & Format(DTPicker1.Value, "yyyy-mm-dd") & " #and 入库时间 <=# " & Format(DTPicker2.Value, "yyyy-mm-dd") & "# order by 入库单编码"
DR2.Show
End If
If Check1.Value = 1 And Check2.Value = 0 Then
DataEnvironment1.rsCommand1_分组.Open "select 供应商名称,入库单编码,入库时间,入库类别,进价,实付价格,折扣,入库性质 from 入库单 where 入库时间 >=#" & Format(DTPicker1.Value, "yyyy-mm-dd") & " #and 入库时间 <=# " & Format(DTPicker2.Value, "yyyy-mm-dd") & "# order by 入库单编码", cnn, adOpenKeyset, adLockOptimistic
DR2.Show
End If
End Sub
选择复选框后查询并打印,报表无法实现按供应商名称分组打印。如何解决?
--------------------编程问答-------------------- 帮帮忙!实在是实现不了!谢谢! --------------------编程问答-------------------- 用水晶报表进行分组打印吧 --------------------编程问答-------------------- 用水晶报表做一个报表模板文件,再以供应商名称分组便可以了 --------------------编程问答-------------------- 不用DE,直接用ADO的方法:
--------------------编程问答-------------------- 不用水晶报表怎么解决 我用的是data report
Option Explicit
Private Sub DataReport_Initialize()
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim Sql, strSql As String
'连接数据库(Access)
Set cn = New ADODB.Connection
With cn
.Provider = "MSDataShape.1" '一定要这句
.Open "Data Provider=Microsoft.Jet.OLEDB.4.0 ;" & _
"Data Source=" & App.Path & "\db1.mdb;" & _
"Persist Security Info=False"
End With
'查询表:
Sql = "SELECT Coid,Caption,Qty FROM tt "
'用SHAPE命令返回查询父子记录集
strSql = "SHAPE {" & Sql & " } " & _
"AS rst COMPUTE sum(rst.Qty) as Qty,rst BY Coid "
Set rs = New ADODB.Recordset
rs.Open strSql, cn, adOpenStatic, adLockReadOnly
'设置RptTextBox控件属性
With RptGroup
'分组标头
.Sections("Section6").Controls("text1").DataField = "Coid"
'.Sections("Section6").ForcePageBreak = 1 '强制分页(不要求按组分页可以注释掉)
'分组注脚--分组合计
.Sections("Section7").Controls("text5").DataField = "Qty"
'注意以上分组信息不要设置控件的DataMember属性
'细节标头,其中“rst”是SHAPE命令中分组子集名称
.Sections("Section1").Controls("text2").DataField = "Caption"
.Sections("Section1").Controls("text2").DataMember = "rst"
.Sections("Section1").Controls("text3").DataField = "Coid"
.Sections("Section1").Controls("text3").DataMember = "rst"
.Sections("Section1").Controls("text4").DataField = "Qty"
.Sections("Section1").Controls("text4").DataMember = "rst"
'页注脚--本页合计
.Sections("Section5").Controls("Function1").DataField = "Qty"
.Sections("Section5").Controls("Function1").FunctionType = 0
End With
'绑定到报表
Set Me.DataSource = rs
End Sub
补充:VB , 数据库(包含打印,安装,报表)