| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2212 人关注过本帖
标题:求助,程序连编后出现报表不能预览
只看楼主 加入收藏
FK1219
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2017-9-8
结帖率:87.5%
收藏
已结贴  问题点数:18 回复次数:15 
求助,程序连编后出现报表不能预览
程序在项目管理器中运行均正常,但连编后当查询时出现两种情况,1、有一个表在查询时,只能出现四条空白无数据的记录,2、其他表查询时都是一闪就没了。
搜索更多相关主题的帖子: 连编 出现 报表 预览 查询 
2017-10-06 09:16
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10538
专家分:42927
注 册:2014-5-20
收藏
得分:4 
不好说,给代码看看。
2017-10-06 10:03
FK1219
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2017-9-8
收藏
得分:0 


[此贴子已经被作者于2017-10-6 16:49编辑过]

2017-10-06 16:45
FK1219
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2017-9-8
收藏
得分:0 
那位大侠帮个忙呀,
set safety off

public mz
public lb

mz=
lb=
DATE1=CTOD(Thisform.TexT1.Value)
DATE2=CTOD(Thisform.TexT2.Value)

if empty(mz) and empty(lb)
select * from spm where between(日期,date1,date2) order by 日期 asc into table lsspm
endif
if empty(mz) and '直达'
select * from spm where between(日期,date1,date2) and 类别=='直达'  order by 日期 asc into table lsspm
endif
if empty(mz) and '下水'
select * from spm where between(日期,date1,date2) and 类别=='下水'  order by 日期 asc into table lsspm
endif
if empty(mz)==.F.
select * from spm where between(日期,date1,date2) and 用户名称==mz  order by 日期 asc into table lsspm
endif

report form spm.frx preview
 
&& 另外问一下combo1怎么赋值到变量


[此贴子已经被作者于2017-10-9 08:45编辑过]

2017-10-06 16:52
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:400
帖 子:11771
专家分:43421
注 册:2006-5-13
收藏
得分:4 
不愿提供代码,大家如何帮你!
这种现象应该与是否连编无关,估计还是工作区或查询语句的问题,没有看到代码,只能瞎猜。

活到老,学到老!http://www.(该域名已经被ISP盗卖了)E-mail:hu-jj@
2017-10-07 09:24
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10538
专家分:42927
注 册:2014-5-20
收藏
得分:0 
如果报表文件使用的数据表无数据记录,报表输出无效。
执行报表预览 REPORT FORM ... PREVIEW 之前看看:
MESSAGEBOX(RECCOUNT())
REPORT FORM ... PREVIEW
2017-10-07 16:19
FK1219
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2017-9-8
收藏
得分:0 
代码谁帮看看,问题出在那了
2017-10-09 16:46
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10538
专家分:42927
注 册:2014-5-20
收藏
得分:0 
if reccount()>0
    report form spm.frx preview
else
    messagebox("无数据记录")
endif
2017-10-09 16:49
wangzhiyi
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:34
帖 子:366
专家分:684
注 册:2014-4-9
收藏
得分:4 
以下是引用FK1219在2017-10-6 16:52:01的发言:

那位大侠帮个忙呀,
set safety off

public mz
public lb

mz=
lb=
DATE1=CTOD(Thisform.TexT1.Value)
DATE2=CTOD(Thisform.TexT2.Value)

if empty(mz) and empty(lb)
select * from spm where between(日期,date1,date2) order by 日期 asc into table lsspm
endif
if empty(mz) and '直达'
select * from spm where between(日期,date1,date2) and 类别=='直达'  order by 日期 asc into table lsspm
endif
if empty(mz) and '下水'
select * from spm where between(日期,date1,date2) and 类别=='下水'  order by 日期 asc into table lsspm
endif
if empty(mz)==.F.
select * from spm where between(日期,date1,date2) and 用户名称==mz  order by 日期 asc into table lsspm
endif

report form spm.frx preview
 
&& 另外问一下combo1怎么赋值到变量

既然你使用==精确比较,那么变量(字段或内存)就要使用alltrim()函数压缩左右空格,除非你能保证你的变量的长度正好与常量的长度完全相同,否则即使有符合条件的记录,SELECT语句也查询不到符合条件的记录。比如说
select * from spm where between(日期,date1,date2) and 类别=='直达'  order by 日期 asc into table lsspm
就要改为:
select * from spm where between(日期,date1,date2) and alltrim(类别)=='直达'  order by 日期 asc into table lsspm


[此贴子已经被作者于2017-10-9 17:15编辑过]

2017-10-09 17:12
FK1219
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2017-9-8
收藏
得分:0 
代码在VFP项目管理器中可以正常查询及预览运行,但是连编后,单独运行EXE文件时报表不能预览在屏幕下面提示没有记录,
2017-10-10 08:45
快速回复:求助,程序连编后出现报表不能预览
数据加载中...
 
   



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

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