高手指点一下,错在哪里啊?
CLOSE ALL
OPEN DATABASE d:\ºÏÖø¾ØÕó\data2005.dbc EXCLUSIVE
USE excel2005.dbf IN 40
USE result2.dbf IN 10
SELECT 10
COPY TO ARRAY aa
SELECT 40
i=0
DO WHILE .not. EOF()
ddd=ATC(aa(1,1),excel2005.data1)
eee=ATC(aa(1,2),excel2005.data1)
IF ddd>0 AND eee>0
i=i+1
ENDIF
SKIP
ENDDO
?i
为啥I打印出来的值还是0?默认数值型
我数了一下,好多那,郁闷
问题点数:20、回复次数:6Top
1 楼wsq0931(hehe)回复于 2006-12-04 02:26:56 得分 0
VFP9Top
2 楼CaiNiaoWuZui()回复于 2006-12-04 07:55:43 得分 0
显然是一次没执行循环里的i=i+1,建议楼主遇到类似问题自己设断点(在do while 那里设),watch i,ddd,eee,recno()就知道怎么回事了Top
3 楼caixia615(*^_^*)‵My ɡīr!.ˊ想念妳ˋ 。(*^_^*)回复于 2006-12-04 08:14:23 得分 0
up,设断点一步步查看这些值Top
4 楼honglingwu()回复于 2006-12-04 09:27:53 得分 0
ddd=ATC(aa(1,1),excel2005.data1)
eee=ATC(aa(1,2),excel2005.data1)
这两句应该是始终与excel2005.data1里固定的一个行(一般是第一个)找而已不会去查excel2005.data1里所有的记录的.Top
5 楼apple_8180(十豆三)回复于 2006-12-04 10:11:07 得分 0
ATC(aa(1,1),excel2005.data1)
看看这句返回值就知道了。
另外表excel2005指针没动呀Top
6 楼dfwxj(清风)回复于 2006-12-04 10:58:41 得分 0
说明没有满足你的条件Top




