| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3318 人关注过本帖
标题:请老师看一下,我错在哪里,为什么 replace的值是空的
只看楼主 加入收藏
wangzhiyi
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:34
帖 子:366
专家分:684
注 册:2014-4-9
收藏
得分:3 
以下是引用wcx_cc在2019-10-20 22:29:32的发言:

个人看法: 2 张表有无关联无所谓,不耽误同时查询.因为:这属于多张独立表之间的搜索与比较.里面允许存在重复搜索.但是注意的是 locate 是单条记录定位语句,不是多记录查出语句,所以使用 locate 加循环,逐条查询,逐条解决,是不会漏掉记录的.

这才是问题的关键,第一条记录不符合条件,所以不进行任何操作。
建议:
locate for ....
do while !eof()
   repl    ......
   cont
enddo
2019-10-21 08:29
wangzhiyi
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:34
帖 子:366
专家分:684
注 册:2014-4-9
收藏
得分:0 
以下是引用wangjiayu45在2019-10-19 16:35:01的发言:

有两张表,一张是:身高体重标准.dbf ,一张:是身高体重分析.dbf 如下图。 所有字段都是文本格式。vfp9.0
      


command1.click  
if used("身高体重标准")
  select 身高体重标准     &&如果表打开就选择到工作区
 else
  use 身高体重标准.DBF in 0
   ENDIF
      SELECT 身高体重分析
 locate FOR between(VAL(身高体重分析.月龄),VAL(身高体重标准.月龄1),VAL(身高体重标准.月龄2)) AND 身高体重分析.性别="男" AND VAL(身高体重分析.身高)<=Val(身高体重标准.男生)
if found()
 replace ALL 身高体重分析.迟缓 WITH "是"

可执行后 身高体重分析.迟缓 还是空白。
请教老师怎么分析?



ENDIF

if found()
 replace ALL 身高体重分析.迟缓 WITH "是"
从这里开始修改为:
do while found()
   replace ALL 身高体重分析.迟缓 WITH "是"
   cont
enddo

  
2019-10-21 10:23
wangjiayu45
Rank: 1
等 级:新手上路
帖 子:189
专家分:0
注 册:2010-4-23
收藏
得分:0 
回复 12楼 wangzhiyi
不知道为什么还是空白,书上说用locate  运算的速度快

[此贴子已经被作者于2019-10-21 15:22编辑过]

2019-10-21 15:20
wangjiayu45
Rank: 1
等 级:新手上路
帖 子:189
专家分:0
注 册:2010-4-23
收藏
得分:0 
回复 9楼 schtg
测试有用!!如果有1W条数据,不知速度如何。
2019-10-21 15:21
schtg
Rank: 12Rank: 12Rank: 12
来 自:Usa
等 级:贵宾
威 望:67
帖 子:1732
专家分:3329
注 册:2012-2-29
收藏
得分:0 
回复 14楼 wangjiayu45
请你发一点数据上来,大家好研究测试,可能会有更好的办法,谢谢!
2019-10-21 15:26
符fp
Rank: 2
等 级:论坛游民
威 望:2
帖 子:24
专家分:32
注 册:2018-12-18
收藏
得分:3 
UPDATE stu SET 迟缓='是' from stu,bz WHERE BETWEEN(stu.月龄,bz.月龄1,bz.月龄2) AND ;
        IIF(allt(stu.性别)='男',stu.身高<=bz.男生,stu.身高<=bz.女生)
2019-10-21 16:39
wangzhiyi
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:34
帖 子:366
专家分:684
注 册:2014-4-9
收藏
得分:0 
回复 13楼 wangjiayu45
空白的原因是因为你的分析表记录指针不会移动的,所以永远拿第一个标准来进行比较。CONT只会解决当前表记录指针的移动问题,不能解决其他表记录指针移动问题。
2019-10-21 16:43
快速回复:请老师看一下,我错在哪里,为什么 replace的值是空的
数据加载中...
 
   



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

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