| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 789 人关注过本帖
标题:根据数据表内容来判断程序的执行。
只看楼主 加入收藏
hyz00001
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:168
专家分:137
注 册:2012-10-5
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:17 
根据数据表内容来判断程序的执行。
用程序获取某一张表里面的某一些数据,如果求和的结果为0,那么程序跳过指定的代码否则程序继续。

跳过指定的代码是否可以直接结束当前的代码(当前prg文件),然后进行后面的运算,
搜索更多相关主题的帖子: 数据表 
2014-06-05 20:43
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
收藏
得分:20 
用if
if 数据1+数据2 <>0
执行语句1
else
执行语句2
endi
2014-06-05 20:55
hyz00001
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:168
专家分:137
注 册:2012-10-5
收藏
得分:0 
以下是引用tlliqi在2014-6-5 20:55:45的发言:

用if
if 数据1+数据2 <>0
执行语句1
else
执行语句2
endi



问题在于数据1 数据2需要在数据表中获取,获取的语句是select sum(rg) from zf
2014-06-05 20:58
hyz00001
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:168
专家分:137
注 册:2012-10-5
收藏
得分:0 
以下是引用hyz00001在2014-6-5 20:58:39的发言:




问题在于数据1 数据2需要在数据表中获取,获取的语句是select sum(rg) from zf




刚才问度娘的解决方案是:


SELECT SUM(rg),SUM(zf) FROM fl INTO ARRAY x

IF x >0
?'x>0'
ELSE if  
? 'X=0'
ENDIF


这样应该是可以比较好的解决。

请问有没有办法吧数据表里面的数据更多更快的赋值给变量然后直接使用的。
2014-06-05 21:01
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
帖子都结了,问题没解决?

坚守VFP最后的阵地
2014-06-05 22:11
hyz00001
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:168
专家分:137
注 册:2012-10-5
收藏
得分:0 
谢谢关心。
2014-06-08 20:03
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:400
帖 子:11857
专家分:43421
注 册:2006-5-13
收藏
得分:0 
作业题

活到老,学到老!http://www.(该域名已经被ISP盗卖了)E-mail:hu-jj@
2014-06-09 07:26
hyz00001
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:168
专家分:137
注 册:2012-10-5
收藏
得分:0 
以下是引用hu9jj在2014-6-9 07:26:12的发言:

作业题



SELECT SUM(rg),SUM(zf) FROM fl INTO ARRAY xb

IF xb >0
    USE flall
    DELETE from flall where fyear =YEAR(bgtime) AND fperiod =MONTH(bgtime)
    PACK
    APPEND FROM fl
ELSE if  xb =0
    =MESSAGEBOX('你没有更新数据,所以沿用之前数据!','重要提示',64,6000)
ENDIF



这是我自己 编写的代码,主要是判断有没有数据,如果没有录入数据,那么就将不会进行更新。下面是全部的代码:



*!*    CREATE DBF fl (;
*!*    cj             c(18),;
*!*    key            n(9,5),;
*!*    rg            n(9,5),;
*!*    zf            n(9,5),;
*!*    rgrate        n(9,5),;
*!*    zfrate        n(9,5))
SELECT distinc CAST(YEAR(bgtime)as n(4))fyear,CAST(month(bgtime)as n(2))fperiod,workshop,SUM(key)key,CAST(0as n(18,8))rg,CAST(0as n(18,8))zf,CAST(0 as n(18,8))jgf,CAST(0 as n(18,8))rgrate,CAST(0 as n(18,8))zfrate,CAST(0as n(18,8))jgfrate  FROM jqrwd GROUP BY 1,2,3 INTO TABLE fl
    =MESSAGEBOX('请输入数据!','重要提示',64,6000)
BROWSE TIMEOUT 5
UPDATE FL SET RGRATE =IIF(KEY =0,0,RG/KEY),zfrate =IIF(key =0,0,zf/key),jgfrate=IIF(key=0,0,jgf/key)
CLOSE TABLES

SELECT SUM(rg),SUM(zf) FROM fl INTO ARRAY xb

IF xb >0
    USE flall
    DELETE from flall where fyear =YEAR(bgtime) AND fperiod =MONTH(bgtime)
    PACK
    APPEND FROM fl
ELSE if  xb =0
    =MESSAGEBOX('你没有更新数据,所以沿用之前数据!','重要提示',64,6000)
ENDIF


SELECT workshop,key,rg,zf,jgf,rgrate,zfrate,jgfrate FROM flall WHERE fyear =YEAR(bgtime) AND fperiod =MONTH(bgtime) INTO CURSOR fla
COPY TO d:\fl TYPE CSV



现在的想法是如果需要一个参数就用一条select语句来整理,这样太复杂,也不方便,有木有比较快捷的方式让我能获取需要的数据进入变量。谢谢。

[ 本帖最后由 hyz00001 于 2014-6-9 13:54 编辑 ]
2014-06-09 13:51
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
SELECT SUM(rg),SUM(zf) FROM fl INTO ARRAY xb

IF xb >0
    USE flall
    DELETE from flall where fyear =YEAR(bgtime) AND fperiod =MONTH(bgtime)
    PACK
    APPEND FROM fl
ELSE if  xb =0
    =MESSAGEBOX('你没有更新数据,所以沿用之前数据!','重要提示',64,6000)
ENDIF

如果数组Xb不存在,上面的代码是否会发生错误

ELSE if  xb =0  


这是Vfp语法吗

坚守VFP最后的阵地
2014-06-09 13:56
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
SELECT distinc CAST(YEAR(bgtime)as n(4))fyear,CAST(month(bgtime)as n(2))fperiod,workshop,SUM(key)key,CAST(0as n(18,8))rg,CAST(0as n(18,8))zf,CAST(0 as n(18,8))jgf,CAST(0 as n(18,8))rgrate,CAST(0 as n(18,8))zfrate,CAST(0as n(18,8))jgfrate  FROM jqrwd GROUP BY 1,2,3 INTO TABLE fl



这条代码中,有多处问题,不知楼主是否发现。

坚守VFP最后的阵地
2014-06-09 14:09
快速回复:根据数据表内容来判断程序的执行。
数据加载中...
 
   



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

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