2,727
社区成员
发帖
与我相关
我的任务
分享
Create Cursor T1 (列1 C(10),列2 C(10),列3 C(10))
Insert Into T1 Values ('A','B','C')
Insert Into T1 Values ('D','E','F')
Insert Into T1 Values ('G','H','I')
Browse Title "原始数据"
*------------------------------------------
Create Cursor T2 (列 I,行 I,值 C(10))
Select T1
lnFields=Fcount('T1')
Scan
For lnI=1 To lnFields
Insert Into T2 Values (lnI,Recno('T1'),Evaluate('T1.'+Field(lnI,'T1')))
Endfor
Endscan
Select T2
Index On 列 To ls
Browse Title "转换后的数据"
*------------------------------------------
Create Cursor T3 (列1 C(10),列2 C(10),列3 C(10))
Select Max(行) As nRows Into Cursor T4 From T2
Select T3
For lnI=1 To T4.nRows
Append Blank
Endfor
Select T2
Scan
lcFieldName='列'+Transform(列)
Replace All (lcFieldName) With T2.值 For Recno()=T2.行 In T3
Endscan
Select T3
Browse Title "又转回来的数据"
Create Cursor A表 (fl c(10))
Insert Into A表 (fl) Values ('abc')
Insert Into A表 (fl) Values ('eee')
Insert Into A表 (fl) Values ('xxx')
Insert Into A表 (fl) Values ('eee')
Insert Into A表 (fl) Values ('yyy')
*-- 上面创建测试用 A表,记录随意 5条,其中有 1条 重复。
*-- 下面根据 A表 fl 字段内容创建 B表
Select Distinct fl Into Cursor T1 From A表
lcStr='Create Cursor B表 ('
Select T1
Scan
lcStr=lcStr+Alltrim(fl)+' C(10),'
Endscan
lcStr=Left(lcStr,Len(lcStr)-1)+')'
*!* ?lcStr
&lcStr.
Browse && 浏览 B表
Modify Structure && 看一下 B表 的结构