| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2738 人关注过本帖
标题:请教简单的FOR循环问题,
只看楼主 加入收藏
lovelov330
Rank: 1
等 级:新手上路
帖 子:113
专家分:0
注 册:2016-7-28
结帖率:83.33%
收藏
已结贴  问题点数: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
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
看不懂楼主的意思

坚守VFP最后的阵地
2016-10-12 11:54
lovelov330
Rank: 1
等 级:新手上路
帖 子:113
专家分:0
注 册:2016-7-28
收藏
得分:0 
這個代碼看不懂嗎,那我註釋下,
2016-10-12 13:05
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:191
帖 子:3147
专家分:8408
注 册: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
帖 子:15453
专家分:65956
注 册:2006-4-27
收藏
得分:0 
传数据,想要什么
2016-10-12 15:22
cxzbzgz
Rank: 8Rank: 8
来 自:云南楚雄
等 级:贵宾
威 望:24
帖 子:298
专家分:808
注 册:2012-6-15
收藏
得分:0 
你循环结束的时候,记录指针已经指向最后一条记录,所以显示的是最后一条记录。

学习交流VFP,QQ:248561326。
2016-10-12 16:58
快速回复:请教简单的FOR循环问题,
数据加载中...
 
   



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

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