| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 839 人关注过本帖
标题:请教高手这个问如何解决?
只看楼主 加入收藏
muyubo
Rank: 9Rank: 9Rank: 9
来 自:山东莱芜
等 级:蜘蛛侠
威 望:3
帖 子:471
专家分:1017
注 册:2011-3-6
收藏
得分:0 
将表增加一个新字段,将表中所有数值型字段转换成字符,然后加起来放到新字段中,然后判断新字段中有"0"的记录.
2015-04-27 18:56
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
以下是引用muyubo在2015-4-27 18:56:14的发言:

将表增加一个新字段,将表中所有数值型字段转换成字符,然后加起来放到新字段中,然后判断新字段中有"0"的记录.

方法不可行

坚守VFP最后的阵地
2015-04-27 18:58
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
以下是引用smart921在2015-4-27 16:50:06的发言:

只要字段中有0值的,记录都找出来。

找出来放在什么地方

坚守VFP最后的阵地
2015-04-27 19:04
muyubo
Rank: 9Rank: 9Rank: 9
来 自:山东莱芜
等 级:蜘蛛侠
威 望:3
帖 子:471
专家分:1017
注 册:2011-3-6
收藏
得分:0 
回复 12楼 sdta
请指出会有什么错误?
2015-04-27 19:11
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10607
专家分:43182
注 册:2014-5-20
收藏
得分:3 
CREATE CURSOR dd (aa C(1), a1 I, b1 I, c1 I, d1 I, e1 I)
INSERT INTO dd VALUES ("A", 1, 0, 3, 5, 0)
INSERT INTO dd VALUES ("B", 0, 1, 0, 7, 3)
INSERT INTO dd VALUES ("C", 1, 8, 3, 5, 5)

? "字段为零的记录:"
? "    记录号 aa"
? "========== ====="
SCAN
    SCATTER FIELDS LIKE ?1 TO ddArray
    IF ASCAN(ddArray, 0) > 0
        ? RECNO(), dd.aa
    ENDIF
ENDSCAN
2015-04-27 19:55
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
回复 14楼 muyubo
楼主是找字段中有 0 的记录,不是记录行中有 0 的记录
可能我也理解错了楼主的意思

[ 本帖最后由 sdta 于 2015-4-27 20:16 编辑 ]

坚守VFP最后的阵地
2015-04-27 20:05
muyubo
Rank: 9Rank: 9Rank: 9
来 自:山东莱芜
等 级:蜘蛛侠
威 望:3
帖 子:471
专家分:1017
注 册:2011-3-6
收藏
得分:0 
楼主说的就是只要字段中有0值的,记录都找出来。

比如下面的数据库,其中有很多数值型字段,如何找出其中字段为零的记录?
aa  a1  b1  c1  d1  e1........
A   1   0   3   5   0
B   0   1   0   7   3
C   1   8   3   5   5
如何找出A、B呢?

c行就没有0,只找A,B

这个:将表增加一个新字段,将表中所有数值型字段转换成字符,然后加起来放到新字段中,然后判断新字段中有"0"的记录.不行?

[ 本帖最后由 muyubo 于 2015-4-27 20:26 编辑 ]
2015-04-27 20:24
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:2 
以下是引用muyubo在2015-4-27 20:24:44的发言:

楼主说的就是只要字段中有0值的,记录都找出来。

比如下面的数据库,其中有很多数值型字段,如何找出其中字段为零的记录?
aa  a1  b1  c1  d1  e1........
A   1   0   3   5   0
B   0   1   0   7   3
C   1   8   3   5   5
如何找出A、B呢?

c行就没有0,只找A,B

这个:将表增加一个新字段,将表中所有数值型字段转换成字符,然后加起来放到新字段中,然后判断新字段中有"0"的记录.不行?

如果按照你的理解,代码可以这样写
程序代码:
[code]CREATE CURSOR dd (aa C(1), a1 I, b1 I, c1 I, d1 I, e1 I)
INSERT INTO dd VALUES ("A", 1, 0, 3, 5, 0)
INSERT INTO dd VALUES ("B", 0, 1, 0, 7, 3)
INSERT INTO dd VALUES ("C", 1, 8, 3, 5, 5)
CC=","
IF TYPE("DD.ABC")="U"
    ALTER TABLE DD ADD ABC C(10)
ENDIF
REPLACE ABC WITH "包含0" FOR AT("0",TRANSFORM(A1)+CC+TRANSFORM(B1)+CC+TRANSFORM(C1)+CC+TRANSFORM(D1)+CC+TRANSFORM(E1))>0
BROWSE
[/code]

坚守VFP最后的阵地
2015-04-27 20:59
muyubo
Rank: 9Rank: 9Rank: 9
来 自:山东莱芜
等 级:蜘蛛侠
威 望:3
帖 子:471
专家分:1017
注 册:2011-3-6
收藏
得分:1 
以下是引用sdta在2015-4-27 20:59:31的发言:


如果按照你的理解,代码可以这样写
[code]CREATE CURSOR dd (aa C(1), a1 I, b1 I, c1 I, d1 I, e1 I)
INSERT INTO dd VALUES ("A", 1, 0, 3, 5, 0)
INSERT INTO dd VALUES ("B", 0, 1, 0, 7, 3)
INSERT INTO dd VALUES ("C", 1, 8, 3, 5, 5)
CC=","
IF TYPE("DD.ABC")="U"
    ALTER TABLE DD ADD ABC C(10)
ENDIF
REPLACE ABC WITH "包含0" FOR AT("0",TRANSFORM(A1)+CC+TRANSFORM(B1)+CC+TRANSFORM(C1)+CC+TRANSFORM(D1)+CC+TRANSFORM(E1))>0
BROWSE


我认为楼主就是要这个结果.
2015-04-27 21:42
快速回复:请教高手这个问如何解决?
数据加载中...
 
   



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

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