zi584 发表于 2008-8-27 07:24

求教!!!!! 急急..............

比如以下格式(.dbf)
学号       课程号       等级

0504001        01       2
0504001        02       2
0504001        03       3

0504002        01       1
0504002        02       3
0504002        03       3
把它转换成
学号           01    02    03
0504001        2     2     3
0504002        1     3      3
注:课程号 01代表语文,02代表数学,03代表英语
   等级    1代表优秀,2代表良好,3代表及格

如何用程序来编写呢?

[[it] 本帖最后由 zi584 于 2008-8-27 07:33 编辑 [/it]]

Tiger5392 发表于 2008-8-27 09:07

do vfpxtab

zi584 发表于 2008-8-27 14:19

什么意思?我有点搞不明白啊!能不能说详细点呢?谢谢!!!!!

Tiger5392 发表于 2008-8-27 15:28

vfp有一个文件 vfpxtab.prg ,直接运行它,就能生成交叉表,你试试看再问嘛

qjbzjp 发表于 2008-8-27 16:33

**字段名首字符不能是数字,所以新表字段前加了“H”

SELECT 1
USE 原表
COPY TO TEMPB FIELDS 学号
SELECT 2
USE tempb
ALTER TABLE TEMPB ADD COLUMN h01 C(2)
ALTER TABLE TEMPB ADD COLUMN h02 C(2)
ALTER TABLE TEMPB ADD COLUMN h03 C(2)
INDEX ON 学号 to indxh
TOTAL to 新表 on 学号
USE 新表 in 2
FOR i= 1 to RECCOUNT(1)
    GO i in 原表
    m_x=原表.课程号
    m_zd1="h"+PADL(&m_x,2,"0")
    REPLACE &m_zd1 with 原表.等级 for 新表.学号=原表.学号
NEXT

zi584 发表于 2008-8-27 21:27

回复 5# qjbzjp 的帖子

谢谢啦!运行成功了呀! [em07]

页: [1]

编程论坛