以下是引用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.宏代换,却不会出错