| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付学习型 ASP/PHP/ASP.NET 主机 30元/年
高端软件开发 = 年薪十万不是梦赛孚耐:软件保护加密专家身份认证令牌USB KEY 
共有 545 人关注过本帖
标题:请教各位一个问题,先谢过了!
收藏  订阅  推荐  打印 
iadmirevancogh
Rank: 2
等级:注册会员
帖子:47
积分:586
注册:2007-12-18
请教各位一个问题,先谢过了!

大家好,初学vf,希望大家多指教,谢谢了!

现遇到一个问题,请教大家:

有一个dbf表,字段为型号,种类,质量,(其中种类分a,b,c……e等几种,质量分123三个等级,三个字段都是字符型)

格式如下:型号              种类            质量
          2008001           a               1
          2008001           b               3
          2008001           e               2
          2008002           a               3
          2008002           b               2
          2008002           c               1
          …………        ……           ……
          …………        ……           ……
现在需要转换成以下格式的dbf表,格式如下:
   
         型号    种类a质量       种类b质量         种类c质量       ……  种类e质量   
      2008001        1              3                                       2
     
      2008002        3              2                   3
         
      …………     ……          ……               ……            ………………
请教大家怎么写程序呢,谢谢先了!!!!
给大家鞠躬了!!

[ 本帖最后由 iadmirevancogh 于 2008-9-10 15:29 编辑 ]
搜索更多相关主题的帖子: 请教各位一个问题  先谢过了!  
2008-9-10 15:27
iadmirevancogh
Rank: 2
等级:注册会员
帖子:47
积分:586
注册:2007-12-18

自己先顶一个,谢谢大家了!
2008-9-10 15:29
ibmlang_002
Rank: 12Rank: 12Rank: 12
来自:浙江-嘉兴
等级:版主
威望:6
帖子:302
积分:3713
注册:2008-8-30

这一个问题,用EXCEL的数据透视表就可以轻松解决了。也可以用VFP的数据透视表

[ 本帖最后由 ibmlang_002 于 2008-9-10 16:25 编辑 ]
2008-9-10 16:24
szy345
Rank: 12Rank: 12Rank: 12
来自:江苏——南京
等级:版主
威望:6
帖子:220
积分:2658
注册:2008-8-6

*****创建表  bb  *****
格式:型号  种类a质量  种类b质量   种类c质量   ……  种类e质量
****************

public w_col

select 类型 from (dbf) group by 类型 into cursor LSB
count to w_col

public ary(6)
   for j=1 to 6
       ary(j)=''
   endfor

select LSB
scan
    ary(1) = 类型

    select (dbf)
    set filt to (dbf).类型 = LSB .类型
    go top
    scan
         do case
             case allt(种类) = 'a'
                  ary(2) = allt(质量)
             case allt(种类) = 'b'
                  ary(3) = allt(质量)
             case allt(种类) = 'c'
                  ary(4) = allt(质量)
             case allt(种类) = 'd'
                  ary(5) = allt(质量)
             case allt(种类) = 'e'
                  ary(6) = allt(质量)
         endcase
    endscan

    select bb   && 新建的表
    gather from ary

    select LSB
       for j=1 to 6
           ary(j)=''
       endfor
endscan

乖乖,写完了,不过好象有点繁哦
2008-9-10 17:56
午丁
Rank: 2
等级:注册会员
威望:1
帖子:71
积分:873
注册:2008-3-19

文本预处理:
用半角逗号分隔各个单元(逗号分隔字段,回车分隔记录)
建表,三个字段
APPEND FROM 文本文件.txt DELIMITED

也可以在文本文件中删除全部空格使其紧密结合
建立一个仅有一个字段的表(但宽度要足够)
APPEND FROM 文本文件.txt sdf
再用substr()函数分割转移给另一张表
或者字段已知宽度比如字段一宽度=7,字段二宽度=1,字段三宽度=3(对应你的例子型号7字节,种类1个字节,最后是3个字节)
如“2008001a123”共11个字节,也可以直接“app”系统会根据字段宽度自动分割字符串
2008-9-11 00:16
Tiger5392
Rank: 12Rank: 12Rank: 12
等级:版主
威望:44
帖子:2005
积分:21414
注册:2006-5-17

do vfpxtab

感言:学以致用。 博客:http://www.bc-cn.net/blog/user14/65009/index.shtml email:Tiger5392@tom.com
2008-9-11 09:26
szy345
Rank: 12Rank: 12Rank: 12
来自:江苏——南京
等级:版主
威望:6
帖子:220
积分:2658
注册:2008-8-6

Tiger5392 在 2008/9/11 09:26 的发言:

do vfpxtab
学习,真是帅的叽里咕噜啊!

哈哈
2008-9-11 09:51
iadmirevancogh
Rank: 2
等级:注册会员
帖子:47
积分:586
注册:2007-12-18

学习了!!!
你们的帮助令我倍感温暖和温馨,就像春风吹在心里,
真心说声谢谢!!!
中秋国庆到了,真挚的祝愿 午丁,斑竹szy345,IBMlang__002等楼上所有朋友们中秋快乐!

合家幸福!吃饭倍儿香!身体倍儿棒!工资倍儿多!!

(*^__^*)


最后也祝所有编程论坛里的朋友合家团圆幸福美满!!愿我们的论坛越来月红火!!!

[ 本帖最后由 iadmirevancogh 于 2008-9-12 21:11 编辑 ]
2008-9-12 21:08
iadmirevancogh
Rank: 2
等级:注册会员
帖子:47
积分:586
注册:2007-12-18

呵呵,怕斑竹没看到,顶一下哈!
2008-9-13 09:19
ibmlang_002
Rank: 12Rank: 12Rank: 12
来自:浙江-嘉兴
等级:版主
威望:6
帖子:302
积分:3713
注册:2008-8-30

谢谢,也祝你中秋快乐,合家幸福!吃饭倍儿香!身体倍儿棒!工资倍儿多!!
2008-9-13 14:46
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.054463 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved