设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 1411|回复: 5
打印 上一主题 下一主题

[报表] [求助]报表预览问题

[复制链接]
跳转到指定楼层
1#
发表于 2006-5-25 02:36:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
[求助]报表预览问题

这个问题搞了一段时间,还是没有解决.只好有劳各位了.

报表比方讲共有9页,在预览打开的时候,要求直接转到指定的页比如第7页,请问如何实现?gotopage报表中不支持.
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2006-5-25 02:44:00 | 只看该作者
转帖网友的

报表打印如何用代码设定页面
Dim qdf As QueryDef
   Dim ctlLabel As Control, ctlText As Control
   Dim intDataX As Integer, intDataY As Integer
   Dim intLabelX As Integer, intLabelY As Integer
   Dim ncnt As Integer
   Dim i As Integer
   Dim ttlwidth As Double
   Dim rptWaste As Report
   Me.Painting = False
   On Error Resume Next
   Dim Dbs As Database, ctr As Container, doc As Document
   Set Dbs = CurrentDb
   ncnt = 0
       Set rptWaste = CreateReport
       Dbs.QueryDefs.Delete "www"
    Set qdf = Dbs.CreateQueryDef("www", sql)
   Dbs.QueryDefs.refresh
   ttlwidth = 30
   rptWaste.Section(acPageHeader).Height = 800
   For i = 1 To 30 - 1
           If Not (IsNull(adata(i)) Or Trim(adata(i)) = "") Then
              Set ctlText = CreateReportControl(rptWaste.name, acTextBox, , "", "", intDataX, intDataY)
              Set ctlLabel = CreateReportControl(rptWaste.name, acLabel, acPageHeader, , "NewLabel", intLabelX, intLabelY)
              ctlLabel.Caption = adata(i)
              
              ctlText.Width = 1000
              If adata(i) = "card_no" Then
                   ctlText.Width = 1200
                   ctlLabel.Caption = "卡号"
              End If
              If adata(i) = "date" Then
                    ctlText.Width = 1300
                   ctlLabel.Caption = "日期"
              End If
              If adata(i) = "op_name" Then
                   ctlText.Width = 1300
                   ctlLabel.Caption = "工序号"
              End If
              If adata(i) = "class_name" Then
                   ctlText.Width = 1300
                   ctlLabel.Caption = "产品类型"
              End If
           If adata(i) = "dept_code" Then
                   ctlText.Width = 1000
                   ctlLabel.Caption = "车间代码"
                    
              End If
              If adata(i) = "totalwaste_qty" Then
                   ctlText.Width = 1000
                   ctlLabel.Caption = "废品总重"
              End If
     '  End If
       ctlLabel.Width = ctlText.Width
       ctlText.ControlSource = adata(i)
       ctlText.BorderStyle = 1
       ctlLabel.BorderStyle = 1
       ctlText.Left = ttlwidth
       ctlLabel.Left = ttlwidth
       ctlLabel.Top = 800 - ctlLabel.Height
       ctlLabel.FontBold = True
       ttlwidth = ttlwidth + ctlText.Width
       End If
   Next i
   rptWaste.RecordSource = "www"
   rptWaste.Section(acDetail).Height = ctlText.Height
   Set ctlLabel = CreateReportControl(rptWaste.name, acLabel, acPageHeader, , "NewLabel", intLabelX, intLabelY)
   ctlLabel.Top = 0
   ctlLabel.Caption = Trim(txtDepartment.value) & "废品统计报表"
   ctlLabel.TextAlign = 2
   ctlLabel.FontSize = 16
   ctlLabel.FontBold = True
   ctlLabel.Width = 4000
   ctlLabel.Height = 500
   ctlLabel.Left = (rptWaste.Width - ctlLabel.Width) / 2
   Const DM_PORTRAIT = 1
   Const DM_LANDSCAPE = 2
   Dim DevString As str_DEVMODE
   Dim DM As type_DEVMODE
   Dim strDevModeExtra As String
   If Not IsNull(rptWaste.PrtDevMode) Then
       strDevModeExtra = rptWaste.PrtDevMode
       DevString.RGB = strDevModeExtra
       LSet DM = DevString
       DM.lngFields = DM.lngFields Or DM.intOrientation    ' Initialize fields.
       'If DM.intOrientation = DM_PORTRAIT Then
           DM.intOrientation = DM_LANDSCAPE
       'Else
       '    DM.intOrientation = DM_PORTRAIT
       'End If
       LSet DevString = DM                     ' Update property.
       Mid(strDevModeExtra, 1, 94) = DevString.RGB
       rptWaste.PrtDevMode = strDevModeExtra
   End If
   DoCmd.DeleteObject acReport, "rptwaste_tmp"
   DoCmd.Save , "rptwaste_tmp"
   DoCmd.Close acReport, "rptwaste_tmp", acSaveNo
'  For i = 0 To FORMs.Count - 1
'
3#
 楼主| 发表于 2006-5-25 02:55:00 | 只看该作者
谢谢关注.这么长的代码,都看晕了,也没有看到与我所提问题有关的语句.
4#
 楼主| 发表于 2006-5-26 13:37:00 | 只看该作者
还没有解决.
5#
 楼主| 发表于 2006-5-27 01:22:00 | 只看该作者

???

以下是引用sgrshh29在2006-5-26 5:37:00的发言:
还没有解决.

是不是办不到?
6#
发表于 2006-5-27 02:11:00 | 只看该作者
你的这个问题,我认为是如何使用 report对象的page属性 为您服务。

可是,我曾经在这个 page属性 上面感觉到很郁闷的,没有完美解决。



如果感兴趣的话,请看看我这个地址上面,我在7楼的更贴 和 上传的附件。

http://www.office-cn.net/forum.php?mod=viewthread&tid=39114&extra=&page=1#39114

[此贴子已经被作者于2006-5-26 18:17:58编辑过]

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-11-15 18:16 , Processed in 0.082666 second(s), 30 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表