Crystal9.2 设置显示的页数问题???

chenyun1123 2010-08-11 03:07:05
1、通过读取数据表中的数据,获得的报表实际只有一页,但是导出的报表却是大于1页的,后续内容都一样,这个需要怎么来设置。
2、如果设置导出的默认文件名,如何来实现
...全文
59 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
chenyun1123 2010-08-11
  • 打赏
  • 举报
回复
谢谢阿泰提醒,问题出在对表查询代码上,我未做表之间的查询条件。
chenyun1123 2010-08-11
  • 打赏
  • 举报
回复
1、Table_Test 这个报表中只有一条记录,不知道你从哪看到了有60条?
chenyun1123 2010-08-11
  • 打赏
  • 举报
回复
Private Sub OpenReport()
On Error Resume Next
Dim SQL As String
Dim strConnect As String
' Create and bind the ADO Recordset object
Set m_Connection = New ADODB.Connection
Set adoRS = New ADODB.Recordset

' Open the connection
strConnect = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=" & App.Path & "\tmp.mdb;Mode=Read|Write"
m_Connection.Open strConnect

adoRS.Open "Select Table_test.*,Table_Con.*,Table_Data.* From Table_test,Table_Con,Table_Data", m_Connection, adOpenDynamic, adLockBatchOptimistic
m_Report.Database.SetDataSource adoRS

CRViewer1.ReportSource = m_Report ' other code modules can enable and disable it
' m_Report.PaperSize = crPaperEnvelope14 ' Set a visually pleasing paper size for the display
' If you're going to print the report, you should change the papersize to letter
RefreshViewer
CRViewer1.ViewReport
End Sub

Private Sub RefreshViewer()
Dim SQL As String
Dim Name() As String ' Used to help parse cboCustomerName.text

If CRViewer1.IsBusy Then Exit Sub ' Extra safety precaution
Screen.MousePointer = vbHourglass

SQL = "Select Table_test.*,Table_Con.*,Table_Data.* From Table_test,Table_Con,Table_Data"
adoRS.Close
adoRS.Open SQL, m_Connection, adOpenDynamic, adLockBatchOptimistic
m_Report.Database.SetDataSource adoRS

If CRViewer1.Visible Then
m_Report.ReadRecords
CRViewer1.Refresh
End If
Screen.MousePointer = vbDefault
End Sub

以上是主要连接数据库显示代码。
阿泰 2010-08-11
  • 打赏
  • 举报
回复
1:不用
2:其实不用特殊调整,但是。。你这个记录里确实有60条~~

要不mdb和相关的程序代码段发我看看?
chenyun1123 2010-08-11
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 babyt 的回复:]
还有一个就是这个表的字段(任意一个或几个)要出现在报表上。
我现在看下来就是有60条记录显示了。你可以拖个“记录号”放到详细资料节上看看
[/Quote]

1、主报表连接的表中的字段必须都出现在报表上?
2、如果子报表放在详细资料的位置,这个该如何来调整?
阿泰 2010-08-11
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 chenyun1123 的回复:]

引用 4 楼 babyt 的回复:
1:Table_Test表里只有1条记录吗,还是有许多条(60)?
应该是有60条的,虽然你的这个表,貌似只用到了一条记录
但是因为你详细资料节里有一条虚线,触发了数据显示的机关,导致这个节被显示了60次。
所以你导出时60页。


Table_Test表中确实只记录了一条数据,在详细资料里面如果有比如说虚线,实线等的设置,都会触发这个节显示Ta……
[/Quote]
还有一个就是这个表的字段(任意一个或几个)要出现在报表上。
我现在看下来就是有60条记录显示了。你可以拖个“记录号”放到详细资料节上看看,
chenyun1123 2010-08-11
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 babyt 的回复:]
1:Table_Test表里只有1条记录吗,还是有许多条(60)?
应该是有60条的,虽然你的这个表,貌似只用到了一条记录
但是因为你详细资料节里有一条虚线,触发了数据显示的机关,导致这个节被显示了60次。
所以你导出时60页。
[/Quote]

Table_Test表中确实只记录了一条数据,在详细资料里面如果有比如说虚线,实线等的设置,都会触发这个节显示Table_Test表中实际的记录次数?这样理解对吗?
阿泰 2010-08-11
  • 打赏
  • 举报
回复
1:Table_Test表里只有1条记录吗,还是有许多条(60)?
应该是有60条的,虽然你的这个表,貌似只用到了一条记录
但是因为你详细资料节里有一条虚线,触发了数据显示的机关,导致这个节被显示了60次。
所以你导出时60页。
2:临时性解决方法:
把两个子报表挪到报表页脚节(拆成两个,一个节放一个子报表),抑制显示详细资料节


chenyun1123 2010-08-11
  • 打赏
  • 举报
回复
找到导出的方法了,那天找了半天发现就在眼皮底下。
一会发你邮箱,麻烦你帮忙看下。谢谢!
chenyun1123 2010-08-11
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 babyt 的回复:]
1:上次看了你的文件,一放就忘记了回,不好意思。
不过因为你的模板是不带数据的,这个是看不出效果来的
只有带上数据才能逐步去调教


2:再次确认一下,用工具栏的导出,这个文件名是改不了的,呵呵。
除非使用自定义的按钮和事件。
(或许可以用API Hook之类的实现,这方面没什么研究~)
[/Quote]

首先说句抱歉,电脑反应不来,着急点击给点了个板砖,真不好意思。

1、带上数据的RPT格式怎么导出?
阿泰 2010-08-11
  • 打赏
  • 举报
回复
1:上次看了你的文件,一放就忘记了回,不好意思。
不过因为你的模板是不带数据的,这个是看不出效果来的
只有带上数据才能逐步去调教


2:再次确认一下,用工具栏的导出,这个文件名是改不了的,呵呵。
除非使用自定义的按钮和事件。
(或许可以用API Hook之类的实现,这方面没什么研究~)

4,816

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 图表区
社区管理员
  • 图表区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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