各位老大,小弟有一难题:
我现在在做vb生成pdf的报表,我用的是CrystalReport11,我已经实现了这样在:
比如:
表 table1中
id c_name c_address orderno itemno s xs m l xl box
1 lg1 ggggggg cs-2005-08 c0001 2 3 4 6 8 1
2 lg1 ggggggg cs-2005-08 c0002 4 4 1
3 lg1 ggggggg cs-2005-08 c0003 2 3 4 1我用:
Dim Report As New Cry_PackingList
Dim SetRec As ADODB.Recordset
Dim SetSql As String
Dim SetStr As StringPrivate Sub Form_Load()
SetSql = "select * from table1"
Set SetRec = executesql(SetSql, SetStr)
Report.DiscardSavedData
Report.Database.SetDataSource SetRec, 3, 1
Screen.MousePointer = vbHourglass
CR_PackList.ReportSource = Report
CR_PackList.ViewReport
Screen.MousePointer = vbDefault
SetRec.Close
Set SetRec = Nothing
End Sub 实现了:
报表1
客人名: lg1 编号:cs-2005-08
地址: ggggggg
款式:c0001
数量: s xs m l xl
2 3 4 6 8
款式:c0002
数量: s xs m l xl
4 4
款式:c0003
数量: s xs m l xl
2 3 4
第 1 箱其中 客人名,地址,编号 是表头,其他的是内容,可以多页.我的问题是,假如我的table1表里面有多个箱,我想把他们一下子都导入到水晶报表里来,不同箱的表头要不一样,像这样:
表 table1中
id c_name c_address orderno itemno s xs m l xl box
1 lg1 ggggggg cs-2005-08 c0001 2 3 4 6 8 1
2 lg1 ggggggg cs-2005-08 c0002 4 4 1
3 lg1 ggggggg cs-2005-08 c0003 2 3 4 14 guang qqqqq cs-2008-08 r0001 3 4 2
4 guang qqqqq cs-2008-08 r0002 4 2结果: 报表2
客人名: lg1 编号:cs-2005-08
地址: ggggggg
款式:c0001
数量: s xs m l xl
2 3 4 6 8
款式:c0002
数量: s xs m l xl
4 4
款式:c0003
数量: s xs m l xl
2 3 4
第 1 箱
客人名: guang 编号:cs-2008-08
地址: qqqqq
款式:r0001
数量: s xs m l xl
3 4
款式:r0002
数量: s xs m l xl
4
第2 箱不知道大家明白没有,请大家看看,谢谢!!
我现在在做vb生成pdf的报表,我用的是CrystalReport11,我已经实现了这样在:
比如:
表 table1中
id c_name c_address orderno itemno s xs m l xl box
1 lg1 ggggggg cs-2005-08 c0001 2 3 4 6 8 1
2 lg1 ggggggg cs-2005-08 c0002 4 4 1
3 lg1 ggggggg cs-2005-08 c0003 2 3 4 1我用:
Dim Report As New Cry_PackingList
Dim SetRec As ADODB.Recordset
Dim SetSql As String
Dim SetStr As StringPrivate Sub Form_Load()
SetSql = "select * from table1"
Set SetRec = executesql(SetSql, SetStr)
Report.DiscardSavedData
Report.Database.SetDataSource SetRec, 3, 1
Screen.MousePointer = vbHourglass
CR_PackList.ReportSource = Report
CR_PackList.ViewReport
Screen.MousePointer = vbDefault
SetRec.Close
Set SetRec = Nothing
End Sub 实现了:
报表1
客人名: lg1 编号:cs-2005-08
地址: ggggggg
款式:c0001
数量: s xs m l xl
2 3 4 6 8
款式:c0002
数量: s xs m l xl
4 4
款式:c0003
数量: s xs m l xl
2 3 4
第 1 箱其中 客人名,地址,编号 是表头,其他的是内容,可以多页.我的问题是,假如我的table1表里面有多个箱,我想把他们一下子都导入到水晶报表里来,不同箱的表头要不一样,像这样:
表 table1中
id c_name c_address orderno itemno s xs m l xl box
1 lg1 ggggggg cs-2005-08 c0001 2 3 4 6 8 1
2 lg1 ggggggg cs-2005-08 c0002 4 4 1
3 lg1 ggggggg cs-2005-08 c0003 2 3 4 14 guang qqqqq cs-2008-08 r0001 3 4 2
4 guang qqqqq cs-2008-08 r0002 4 2结果: 报表2
客人名: lg1 编号:cs-2005-08
地址: ggggggg
款式:c0001
数量: s xs m l xl
2 3 4 6 8
款式:c0002
数量: s xs m l xl
4 4
款式:c0003
数量: s xs m l xl
2 3 4
第 1 箱
客人名: guang 编号:cs-2008-08
地址: qqqqq
款式:r0001
数量: s xs m l xl
3 4
款式:r0002
数量: s xs m l xl
4
第2 箱不知道大家明白没有,请大家看看,谢谢!!
请问 你能告诉我该怎样设计吗
我的实现结果如上,谢谢你
还要麻烦你,请问,要是用子报表的话,是表头和下面的要分开吗
还是有其他的用?,还请你多多指教,尽量详细点,谢谢你
比如,在
Private Sub Form_Load()
SetSql = "select * from table1"
Set SetRec = executesql(SetSql, SetStr)
Report.DiscardSavedData
Report.Database.SetDataSource SetRec, 3, 1
Screen.MousePointer = vbHourglass
CR_PackList.ReportSource = Report
CR_PackList.ViewReport
Screen.MousePointer = vbDefault
SetRec.Close
Set SetRec = Nothing
End Sub 基础上我该怎么修改,,我会马上揭贴,谢谢!!
在 “公式工作室”里,我用了 “在以下内容前新建页”,其中有个条件就是
{out_pdf.OrderNo}<>"某一个编号",这里恰恰是他本身,我就用:
{out_pdf.OrderNo}<>{out_pdf.OrderNo}
结果不行,不知道该怎么表达,谢谢你!!马上揭贴,给分与你!
还有,我这个问题我发了两次,你找一下,你在那里随便写一些东西,我把那里的分也结给你,谢谢!!
就是
string orderno
orderno={out_pdf.OrderNo}
{out_pdf.OrderNo}<>orderno怎么样,不知道怎样把他转化为公式
你看看!