设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12下一页
返回列表 发新帖
查看: 3086|回复: 12
打印 上一主题 下一主题

[报表] 关于用报表打印当前记录的程序原代码

[复制链接]
跳转到指定楼层
1#
发表于 2003-2-12 19:37:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请教各位高手,兄弟制作了一个窗体,而后想在窗体中设置了一个按纽,
它的功能是连接报表并打印当前记录,可是我在ACCESS中自来的按纽中
只找到打印报表全部记录的按纽,其程序原代码如下:
Private Sub 命令21_Click()
On Error GoTo Err_命令21_Click

    Dim stDocName As String

    stDocName = "从业人员( 打印)"
    DoCmd.OpenReport stDocName, acNormal,"筛选查询"  '”筛选查询“为一个查询,起条件为 其中关键字段值等于窗体中当前值:例子见northwid.mdb里订单窗体的打印发票程序 =[Forms]![Orders]![OrderID]

Exit_命令21_Click:
    Exit Sub

Err_命令21_Click:
    MsgBox Err.Description
    Resume Exit_命令21_Click
   
End Sub
    我想是否可以在其中改动一下代码,将其功能转变为打印报表当前
记录,请各位高手赐教!


[此贴子已经被cattjiu于2003-2-12 11:37:03编辑过]

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2003-2-12 22:16:00 | 只看该作者
你可以事先在报表的筛选里设好筛选条件(报表中相关字段=[Forms]![Orders]![OrderID])呀!
这样在打开报表时,并不需要编程也要以打印窗体中的当前记录了。
3#
 楼主| 发表于 2003-2-14 01:21:00 | 只看该作者
谢谢marco2的热心解答。不好意思的是,我刚接触access不久,对它了解也不是很多,你所说的“事先在报表的筛选里设好筛选条件”我不太清楚具体怎么操作。我在报表中找了很久,没找到筛选选项,可不可以再说具体一点,谢谢!
4#
发表于 2003-2-14 01:31:00 | 只看该作者
方法1:DoCmd.OpenReport stDocName, acNormal,"筛选查询"

'”筛选查询“为一个查询,条件为其中关键字段值等于窗体中当前值:例子见northwid.mdb里订单窗体的打印发票程序 =[Forms]![Orders]![OrderID]

方法2:在报表设置窗体的属性里设筛选条件: 例如=[Forms]![Orders]![OrderID]

[upload=bmp]http://www.office-cn.net/vvb/uploadimages/200321317301531612.bmp[/img]
5#
 楼主| 发表于 2003-2-16 18:29:00 | 只看该作者
我已按照各位的指示在报表筛选中填入“=[Forms]![Orders]![OrderID]”,一字未改,如图所示:
[upload=bmp]http://www.office-cn.net/vvb/uploadimages/200321610231743969.bmp[/img]
不过运行时总是出现提示:语法错误(操作符丢失)在查询表达式‘(=[Forms]![Orders]![OrderID])’中,不知是哪儿出错了,希望不吝赐教!
6#
发表于 2003-2-16 21:14:00 | 只看该作者
=[Forms]![Orders]![OrderID]
这是个例子,应该根据你的窗体具体更改为:
=[Forms]![你的窗体的名字]![用于筛选的窗体对象名]
7#
 楼主| 发表于 2003-2-18 03:45:00 | 只看该作者

[求助]

大侠!还是不行啊!我已按照你说的在报表筛选项里填入 =[Forms]![从业人员(打印)]![ID],其中“从业人员(打印)”是窗体名,“ID”是窗体中的一个字段名(自动编号)。但打开报表时仍出现“语法错误(操作符丢失)在查询表达式‘(=[Forms]![从业人员(打印)]![ID])’中”,我想是不是我对你说的“[用于筛选的窗体对象名]”理解错误致填入项[ID]错误。如果方便的话,是否可以把我的文件传到你的邮箱,大概300K,请帮忙看看,不胜谢谢!
8#
 楼主| 发表于 2003-2-18 04:06:00 | 只看该作者
我刚查到一个打印2-5页的的命令代码,如下:
  DoCmd.PrintOut acPrintAll, 2, 5
我想如果能把2,5改成最后一条记录的代码表达式也同样可以达到目地,请问最后一条记录用代码怎么表示!
9#
发表于 2003-2-18 04:30:00 | 只看该作者

[求助]

我也有同样的问题啊!大侠,帮帮忙呀!
10#
发表于 2003-2-18 17:51:00 | 只看该作者
报表中[id]的筛选属性里设:=[Forms]![从业人员(打印)]![ID])
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-11 23:56 , Processed in 0.092117 second(s), 33 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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