标题:新手报表条件问题
只看楼主
laikokseng95
Rank: 1
等 级:新手上路
帖 子:43
专家分:0
注 册:2015-12-8
结帖率:100%
已结贴  问题点数:20 回复次数:12 
新手报表条件问题


想写一个report 是今天开始算起,30天之前的那些客户才会出现在report 里

有个想法是,在report 的按钮里放
aa=date()-mainend(授予的最后一天)
set filter to 0>aa
report form reportname to print prompt nodialog preview

但是没效果,希望各位大哥帮帮忙

还有就是我想知道prg 可以放进report 里的吗? 如果可以,麻烦顺便教我,谢谢

搜索更多相关主题的帖子: 今天开始 filter report 大哥 
2015-12-23 23:11
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
得分:5 
prg放进report 里?
2015-12-24 07:30
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:396
帖 子:11713
专家分:43267
注 册:2006-5-13
得分:5 
报表中可以调用PRG,一般是返回处理后的值,相当于调用函数。
在表单、或程序中可以调用报表,并在调用报表时加上记录筛选条件,仅打印符合条件的记录,具体看一下帮助文件就明白了。

活到老,学到老! http://www. E-mail:hu-jj@
2015-12-24 08:08
liuxingang28
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:山东济南
等 级:贵宾
威 望:47
帖 子:649
专家分:2156
注 册:2014-2-7
得分:5 
report 里怎么可能存在按钮?
一般都是先设计一个form,在form中添加按钮或其他选项,再在按钮的click代码中调用report。

泉城飞狐
2015-12-24 08:31
liuxingang28
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:山东济南
等 级:贵宾
威 望:47
帖 子:649
专家分:2156
注 册:2014-2-7
得分:0 
个人习惯在表单的按钮代码中生成报表需要的数据,然后再调用报表。当然,前提是报表中不要保存数据环境,这样运行报表时才会使用表单的数据环境。

泉城飞狐
2015-12-24 08:35
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:5 
回复 楼主 laikokseng95
用VFP9的话可以试试报表扩展功能
报表扩展功能示例.rar (5.71 KB)


程序代码:
** 报表扩展功能示例
ASTACKINFO(a程序)
SET DEFAULT TO ADDBS(JUSTPATH(a程序[2]))     

CREATE CURSOR tt (ff I)
FOR i = 1 TO 100
    INSERT INTO tt VALUES (i)
ENDFOR


oPC = NULL
DO (_REPORTPREVIEW) WITH oPC
oPC.Top = 0
oPC.Left = 0
oPC.Width = 800
oPC.Height = 500
oPC.Caption = "报表扩展功能示例"
oPC.CanvasCount = 1
oPC.ToolbarIsVisible = .T.
oPC.ZoomLevel = 5   && 100%

oRP = NEWOBJECT("MyRetroPreview")
oPC.SetExtensionHandler(oRP)

oRL = NEWOBJECT("Reportlistener")
oRL.ListenerType = 1
oRL.PreviewContainer = oPC

REPORT FORM 报表扩展功能示例.frx OBJECT oRL
RETURN

DEFINE CLASS MyRetroPreview AS Custom
    PROCEDURE Show(iStyle)
        this.PreviewForm.Toolbar.addobject("myCmd", "CommandButton")
        this.PreviewForm.Toolbar.myCmd.Width = 80
        this.PreviewForm.Toolbar.myCmd.Height = 22
        this.PreviewForm.Toolbar.myCmd.Caption = "我的按钮"
        this.PreviewForm.Toolbar.myCmd.Visible = .T.
        BINDEVENT(this.PreviewForm.Toolbar.myCmd, "Click", this, "myCmdClick")
    ENDPROC

    PROCEDURE myCmdClick
        MESSAGEBOX("点击了我的按钮")
    ENDPROC
ENDDEFINE
2015-12-24 09:55
laikokseng95
Rank: 1
等 级:新手上路
帖 子:43
专家分:0
注 册:2015-12-8
得分:0 
回复 5楼 liuxingang28
请教下,是否可以用代码做到
Preview report for date 01.04 到 30.04
2015-12-25 21:58
laikokseng95
Rank: 1
等 级:新手上路
帖 子:43
专家分:0
注 册:2015-12-8
得分:0 
回复 6楼 吹水佬
感谢你的帮助,我会慢慢消化的
2015-12-25 22:03
su0527
Rank: 2
等 级:论坛游民
帖 子:452
专家分:79
注 册:2015-1-10
得分:0 
路过学习一下
2015-12-27 22:55
liuxingang28
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:山东济南
等 级:贵宾
威 望:47
帖 子:649
专家分:2156
注 册:2014-2-7
得分:0 
回复 7楼 laikokseng95
可以在 report form 命令中指定数据过滤条件。下述代码可打印2015年1月份的数据:

report form 报表 preview for between(日期,{^2015.01.01},{^2015.01.31})

另外,这种基础操作最好查看一下帮助文件。

泉城飞狐
2015-12-28 10:35



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-460512-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.254581 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved