| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3920 人关注过本帖
标题:排查了一个多小时了,以前正确的代码现在老是提示错误,是不是我的系统出问 ...
只看楼主 加入收藏
xuminxz
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:41
帖 子:766
专家分:2517
注 册:2011-5-8
收藏
得分:0 
你传上来的我运行了没有错。有3种可能。

dBase有人接盘了。
2021-07-07 19:35
琅拿度
Rank: 1
等 级:新手上路
帖 子:166
专家分:5
注 册:2016-4-7
收藏
得分:0 
以下是引用xuminxz在2021-7-7 19:12:51的发言:

空值不等于.f.


逻辑字段,没有值的话,就是 .f.啊
2021-07-07 19:35
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
试试这样行不行(我的电脑上可以)
FOR i_zdxx=1 TO 3
    iic=ALLTRIM(STR(i_zdxx))
    zdxx&iic=""
    iic1="fangan" + ALLTRIM(STR(i_zdxx))
    SELECT yinglijilu
    GO TOP
    Do WHILE EOF()=.F.
        IF &iic1=.T.
            zdxx&iic=Substr(Item1,3,2)+'-'+Left(Allt(end_time),5)+':'+Chr(13)+zdxx&iic
        ENDIF
        SKIP
    ENDDO
ENDFOR

[此贴子已经被作者于2021-7-7 19:43编辑过]


坚守VFP最后的阵地
2021-07-07 19:36
xuminxz
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:41
帖 子:766
专家分:2517
注 册:2011-5-8
收藏
得分:0 
Iif(i_zdxx=1,fangan1=.T.,Iif(i_zdxx=2,fangan2=.T.,Iif(i_zdxx=3,fangan3=.T.,Iif(i_zdxx=4,fangan4=.T.,fangan5=.T.))))

If fangan&izdc=.T. && 就是这行出错  这行不出错就不正常了
                        i_zdsl=i_zdsl+1
                    Endi
作用不一样
Iif(i_zdxx=1,fangan1=.T.,Iif(i_zdxx=2,fangan2=.T.,Iif(i_zdxx=3,fangan3=.T.,Iif(i_zdxx=4,fangan4=.T.,fangan5=.T.))))
中没有对fangan1的值判断,只是赋值。

dBase有人接盘了。
2021-07-07 19:38
xuminxz
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:41
帖 子:766
专家分:2517
注 册:2011-5-8
收藏
得分:0 
用调试器看看吧。

dBase有人接盘了。
2021-07-07 19:41
琅拿度
Rank: 1
等 级:新手上路
帖 子:166
专家分:5
注 册:2016-4-7
收藏
得分:0 
以下是引用xuminxz在2021-7-7 19:38:42的发言:

Iif(i_zdxx=1,fangan1=.T.,Iif(i_zdxx=2,fangan2=.T.,Iif(i_zdxx=3,fangan3=.T.,Iif(i_zdxx=4,fangan4=.T.,fangan5=.T.))))

If fangan&izdc=.T. && 就是这行出错  这行不出错就不正常了
                        i_zdsl=i_zdsl+1
                    Endi
作用不一样
Iif(i_zdxx=1,fangan1=.T.,Iif(i_zdxx=2,fangan2=.T.,Iif(i_zdxx=3,fangan3=.T.,Iif(i_zdxx=4,fangan4=.T.,fangan5=.T.))))
中没有对fangan1的值判断,只是赋值。


前面有个“if”  只是生成条件,不是要写入表里
2021-07-07 19:46
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
试试这样行不行(我的电脑上可以)
IF EVALUATE("fangan" + iic)=.T.
    ........
ENDIF

坚守VFP最后的阵地
2021-07-07 19:54
xuminxz
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:41
帖 子:766
专家分:2517
注 册:2011-5-8
收藏
得分:0 
If fangan&izdc=.T. 是根据fangan&izdc决定转向
Iif(i_zdxx=1,fangan1=.T.,Iif(i_zdxx=2,fangan2=.T.,Iif(i_zdxx=3,fangan3=.T.,Iif(i_zdxx=4,fangan4=.T.,fangan5=.T.))))
是根据i_zdxx的值决定执行什么。

dBase有人接盘了。
2021-07-07 19:56
琅拿度
Rank: 1
等 级:新手上路
帖 子:166
专家分:5
注 册:2016-4-7
收藏
得分:0 
以下是引用xuminxz在2021-7-7 19:56:21的发言:

If fangan&izdc=.T. 是根据fangan&izdc决定转向
Iif(i_zdxx=1,fangan1=.T.,Iif(i_zdxx=2,fangan2=.T.,Iif(i_zdxx=3,fangan3=.T.,Iif(i_zdxx=4,fangan4=.T.,fangan5=.T.))))
是根据i_zdxx的值决定执行什么。


是 if Iif(i_zdxx=1,fangan1=.T.,Iif(i_zdxx=2,fangan2=.T.,Iif(i_zdxx=3,fangan3=.T.,Iif(i_zdxx=4,fangan4=.T.,fangan5=.T.))))
2021-07-07 20:31
琅拿度
Rank: 1
等 级:新手上路
帖 子:166
专家分:5
注 册:2016-4-7
收藏
得分:0 
以下是引用sdta在2021-7-7 19:54:38的发言:

试试这样行不行(我的电脑上可以)
IF EVALUATE("fangan" + iic)=.T.
    ........
ENDIF


这个错误的诡异之处在于,同样的写法,上面 if 这行会出错,下面同样的写法 for 没有出错

        For i_zdxx=1 To 5
            izdc=Allt(Str(i_zdxx))
            Sele yinglijilu  && 盈利记录
            Go Top
            Do While Eof()=.F. And i_zdsl<=10
                Sele yinglijilu
                If Iif(i_zdxx=1,fangan1=.T.,Iif(i_zdxx=2,fangan2=.T.,Iif(i_zdxx=3,fangan3=.T.,Iif(i_zdxx=4,fangan4=.T.,fangan5=.T.))))&& 这里如果用 if fangan&izdc=.T.就出错
                    i_zdsl=i_zdsl+1
                Endi
                Skip
            Enddo
            Sum zzc&izdc To sum_zzc   For fangan&izdc=.T.  && 这里同样用了这个fangan&izdc=.T.宏代换,却不会出错
            Sum zsr&izdc To sum_zsr   For fangan&izdc=.T.  && 这里同样用了这个fangan&izdc=.T.宏代换,却不会出错
2021-07-07 20:36
快速回复:排查了一个多小时了,以前正确的代码现在老是提示错误,是不是我的系统 ...
数据加载中...
 
   



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

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