标题:请老师看一下,我错在哪里,为什么 replace的值是空的
只看楼主
wangjiayu45
Rank: 1
等 级:新手上路
帖 子:187
专家分:0
注 册:2010-4-23
结帖率:83.64%
已结贴  问题点数:20 回复次数:16 
请老师看一下,我错在哪里,为什么 replace的值是空的
有两张表,一张是:身高体重标准.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
搜索更多相关主题的帖子: 分析 老师 标准 replace dbf 
2019-10-19 16:35
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:3 
代码有问题
两个互不相关的表是不会产生关系的。

坚守VFP最后的阵地
2019-10-19 17:51
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:396
帖 子:11713
专家分:43267
注 册:2006-5-13
得分:3 
需要至少一个关键字段,即两个表都有这个相同的字段,而且保证字段的值具有唯一性。

活到老,学到老! http://www. E-mail:hu-jj@
2019-10-19 21:06
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:3 
代码好象有问题:

SELECT 身高体重分析
locate FOR between(VAL(身高体重分析.月龄),VAL(身高体重标准.月龄1),VAL(身高体重标准.月龄2)) AND 身高体重分析.性别="男" AND VAL(身高体重分析.身高)<=Val(身高体重标准.男生)
if found()
    replace ALL 身高体重分析.迟缓 WITH "是"

在“身高体重分析”表里查找与“身高体重标准”表当前记录进行比对
查找到符合条件时就将“身高体重分析”表的“迟缓”全部修改为“是”
如:身高体重分析.身高 <= 身高体重标准.男生
第一条记录:身高体重标准.男生 = 106.3,“身高体重分析”表就没有符合铁条的记录。

2019-10-20 05:16
schtg
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:https://t.me/pump_upp
等 级:贵宾
威 望:67
帖 子:1355
专家分:2534
注 册:2012-2-29
得分:3 
请试一试
2019-10-20 07:57
wangjiayu45
Rank: 1
等 级:新手上路
帖 子:187
专家分:0
注 册:2010-4-23
得分:0 
可能我的意思没有表达好。
“身高体重标准”表是标准值,作为参照。比如,月龄72-77个月,男生,身高小于106.3cm  就为生长迟缓。 月龄168-173个月,女生,身高小于142.9cm  就为生长迟缓。
“身高体重分析”表中有月龄、性别、身高,迟缓。首先确定“月龄”在“身高体重标准”表中处的位置,在确定男、女,如果是“男”/“女”,如果“身高”小于标准值,“身高体重分析”表的“迟缓”全部修改为“是”。
 
请各位大师赐教!!

[此贴子已经被作者于2019-10-20 08:23编辑过]

2019-10-20 07:58
wangjiayu45
Rank: 1
等 级:新手上路
帖 子:187
专家分:0
注 册:2010-4-23
得分:0 
回复 5楼 schtg
这个好象并没有用,第二条记录也符合要求,没有显示“是”
我套用公式后,还是一片空白
UPDATE 身高体重分析 SET 身高体重分析.迟缓="是" WHERE between(身高体重分析.月龄,身高体重标准.月龄2,身高体重标准.月龄1)  AND 身高体重分析.身高<=身高体重标准.男生 AND 身高体重分析.性别=="男"
好象加了 between()就不起作用

[此贴子已经被作者于2019-10-20 09:51编辑过]

2019-10-20 09:36
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:0 
上传表

坚守VFP最后的阵地
2019-10-20 09:45
schtg
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:https://t.me/pump_upp
等 级:贵宾
威 望:67
帖 子:1355
专家分:2534
注 册:2012-2-29
得分:0 
回复 7楼 wangjiayu45
不好意思,粗心啦,请试一试哈,有问题再讨论!
2019-10-20 13:43
wcx_cc
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:52
帖 子:352
专家分:1152
注 册:2015-10-2
得分:3 
个人看法: 2 张表有无关联无所谓,不耽误同时查询.因为:这属于多张独立表之间的搜索与比较.里面允许存在重复搜索.但是注意的是 locate 是单条记录定位语句,不是多记录查出语句,所以使用 locate 加循环,逐条查询,逐条解决,是不会漏掉记录的.




2019-10-20 22:29



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-497352-1-1.html




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

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