求助 十豆三大侠

asonglinux 2012-10-21 02:55:16
你回复我的 帖子
http://topic.csdn.net/u/20121020/09/321451dd-aa2f-4f7e-8c2a-42459f6ee863.html

现在又遇到一小问题,就是还原的问题,


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 "又转回来的数据"




T3 列数不一定咋办???
...全文
164 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
asonglinux 2012-10-25
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]
引用 4 楼 的回复:
不管用 物品实际名称 做字段名,还是 供应商实际名称 做字段名,都是不合理的。



那2楼的问题还能解决么???

不行的话,只好。。。。。。
[/Quote]

sorry ,我又仔细看了你的一下代码。其实已经帮我解决了。谢谢大侠
asonglinux 2012-10-22
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]
你问一下另外一个人,看看他能看明白2楼说的什么问题?反正我没看懂。
[/Quote]

O le
我还是想办法 解决填写数据的问题吧。多谢大侠 不惜时间 给我指点
十豆三 2012-10-22
  • 打赏
  • 举报
回复
你问一下另外一个人,看看他能看明白2楼说的什么问题?反正我没看懂。
asonglinux 2012-10-22
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]
不管用 物品实际名称 做字段名,还是 供应商实际名称 做字段名,都是不合理的。
[/Quote]


那2楼的问题还能解决么???

不行的话,只好。。。。。。
十豆三 2012-10-22
  • 打赏
  • 举报
回复
不管用 物品实际名称 做字段名,还是 供应商实际名称 做字段名,都是不合理的。
asonglinux 2012-10-21
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
那你举个例子吧。
[/Quote]

麻烦了大侠。先解决2楼的问题,

然后我做的作业是:

类似乘法表


比如我要采购物品 A1,A2,A3... N种物品

要从 供应商 B1\B2\B3...... M种供应商

这样 得出的各个物品价格 就是 N*M 个

我用用表达如下

A 表 记录 物品 名称
B 表 记录 供货商

这2个表的字段都好设计。

就是N*M这个表 不好弄,,

原因有2 :

1:方便界面输入,所以我 请教你 用字段值 作为表字段

2:方便存储,所以又请教了 另一个问题,如贴。


实在是头疼。。。 大侠指点1,2 困扰我1个多月了





asonglinux 2012-10-21
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
那你举个例子吧。
[/Quote]

好的。。
是这样的。
上次你也告诉我一个怎么样用 一个表的字段值,生成另外一个表,你给我的代码如下



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表 的结构


然后这个B 表 就相当于 上面的T1 表,

列1、列2、列3、列4、。。。。。


十豆三 2012-10-21
  • 打赏
  • 举报
回复
那你举个例子吧。

2,727

社区成员

发帖
与我相关
我的任务
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
  • VFP社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧