| 网站首页 | 业界新闻 | 群组 | 交易 | 人才 | 下载频道 | 博客 | 代码贴 | 编程论坛
共有 1279 人关注过本帖
标题:请教简单的FOR循环问题,
只看楼主 加入收藏
lovelov330
Rank: 1
等 级:新手上路
帖 子:90
专家分:0
注 册:2016-7-28
结帖率:86.36%
  已结贴   问题点数:10  回复次数:5   
请教简单的FOR循环问题,
下面是我的代码,乱码的部分是繁体汉字,这样经过FOR循环后,本来要显示两条记录,但是只显示最后一条记录!麻烦帮我看看那里出错了,实在是找不到了!

tpage  开头的表都是CREATE CURSOR 建的, 我用的版本是VFP6.0,

经过FOR循环本来出来的是2条记录,但是显示的是最后一条记录,这是为什么啊!实在找不到代码那里出错,麻烦了!

在线等,急。。。
LOCAL  x, a, b, i, tf, la, kong, m, production , dattotle , totlenum, yearnum, monthnum, worknum,kong,c1year,c2month,c3day,c4,c5,rq
 SELECT ("TPAGE4")
 tf = 100
 i = 0
 x = 0
 la = 0
  kong= space(0)
 SELECT ("TPAGE3")
 i = reccount()
 totlenum = 0
 yearnum = 0
 monthnum = 0
 FOR x = 1 TO i
    SELECT ("TPAGE3")
    GOTO x
    IF kong<>alltrim(tpage3.s2)   
       tf = 0
       la = 0
       b  = 0
       c1year = 0
       c2month = 0
       c3day = 0
       c4 = 0
       c5 = 0
       worknum = 0
       yearnum = year(tpage3.s11)
       messagebox(tpage3.s2,str(yearnum))
       monthnum = month(tpage3.s11)
       messagebox(tpage3.s2,str(monthnum))
       SELECT * FROM jpcorp!紅︽ㄆ句 WHERE 紅︽ㄆ句.=yearnum AND 紅︽ㄆ句.る=monthnum INTO CURSOR TEMP
       select temp
       dattotle = reccount()
       USE IN temp           
         if!used("紅︽ㄆ句")
            USE d:\jpcorp\data\紅︽ㄆ句
           else
          select 紅︽ㄆ句
           messagebox("","匡拒紅︽ㄆ菌")
            endif
       set order to るら
       rq = alltrim(str(year(tpage3.s11)))+"/"+alltrim(str(month(tpage3.s11)))+"/"+alltrim(str(day(tpage3.s11)))         
       IF seek(rq)
          la = recno()
       ELSE
           messagebox("禬紅︽ㄆ句戈郎絛瞅, ╰参礚猭璸衡,叫絋﹚龄!")
          EXIT
       ENDIF
       SELECT ("TPAGE3")
        c3day= day(tpage3.s11)
       totlenum = tpage3.s6
    ELSE
       exit
       totlenum = tpage3.s6
    ENDIF         
    SELECT ("TPAGE4")
    APPEND BLANK
    REPLACE tpage4.s3 WITH  totlenum           
    REPLACE tpage4.s2 WITH  tpage3.s5   
    REPLACE tpage4.s1 WITH   tpage3.s4
    REPLACE tpage4.s35 WITH  tpage3.s1   
    DO WHILE totlenum>0
       select 紅︽ㄆ句
       GOTO la
       worknum = iif(alltrim(紅︽ㄆ句.痁)=="そヰ", 0, iif(alltrim(紅︽ㄆ句.痁)=="痁", 1, 2))
        c1year = 紅︽ㄆ句.
        c2month = 紅︽ㄆ句.る
        c3day= 紅︽ㄆ句.ら戳
       SELECT ("TPAGE4")
      
       REPLACE tpage4.s36 WITH c1year
       REPLACE tpage4.s37 WITH c2month      
       SELECT * FROM TPAGE7 WHERE alltrim(tpage7.s1)=alltrim(tpage3.s5) INTO CURSOR TEMP99
       IF reccount()==0
          = messagebox("тぃ  "+alltrim(tpage3.s5)+"  戈, ╰参盢氨ゎ箇︳")
          EXIT
       ELSE
          production = iif(worknum==0, 0, iif(worknum==1, temp99.s2, temp99.s3))
       ENDIF
       IF int(production*1.05 )>=totlenum .AND. totlenum>=production
          thisform.a41.f5(c3day, totlenum)
          totlenum = 0    
           la=la+1
          tf = 0
       ELSE
          IF tf=0
             IF totlenum>=production
                thisform.a41.f5(c3day, production)
                totlenum = totlenum-production
                 la=la+1
                tf = 0
             ELSE
                thisform.a41.f5(c3day, totlenum)
                tf = 100-int((totlenum/production)*100)
                totlenum = totlenum-totlenum
                 tf= tf+0
                 la=la+0
             ENDIF
          ELSE
             IF totlenum>=int((production*tf)/100)
                thisform.a41.f5(c3day, int((production*tf)/100))
                totlenum = totlenum-int((production*tf)/100)
                 la=la+1
                tf = 0
             ELSE
                thisform.a41.f5(c3day, totlenum)
                b = 100-int((totlenum/int((production*tf)/100))*100)
                totlenum = totlenum-totlenum
                tf =tf -b
                 la=la+0
             ENDIF
          ENDIF
       ENDIF
    ENDDO
    endfor
 SELECT ("TPAGE4")
 tableupdate()
 SELECT ("TPAGE4")
 GOTO TOP
 RELEASE WINDOW

搜索更多相关主题的帖子: 在线  汉字  记录  
2016-10-12 10:40
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:167
帖 子:7282
专家分:17134
注 册:2012-2-5
  得分:0 
看不懂楼主的意思

坚守VFP最后的阵地
2016-10-12 11:54
lovelov330
Rank: 1
等 级:新手上路
帖 子:90
专家分:0
注 册:2016-7-28
  得分:0 
這個代碼看不懂嗎,那我註釋下,
2016-10-12 13:05
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:79
帖 子:2549
专家分:6256
注 册:2015-3-25
  得分:10 
以下是引用lovelov330在2016-10-12 13:05:37的发言:

這個代碼看不懂嗎,那我註釋下,

是不知道你想做什么。。。
最好把你的数据放上来测试

[此贴子已经被作者于2016-10-12 13:39编辑过]

2016-10-12 13:38
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15455
专家分:65956
注 册:2006-4-27
  得分:0 
传数据,想要什么
2016-10-12 15:22
cxzbzgz
Rank: 7Rank: 7Rank: 7
来 自:云南楚雄
等 级:贵宾
威 望:22
帖 子:257
专家分:692
注 册:2012-6-15
  得分:0 
你循环结束的时候,记录指针已经指向最后一条记录,所以显示的是最后一条记录。

学习交流VFP,QQ:248561326。
2016-10-12 16:58







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

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