| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4311 人关注过本帖
标题:能否将vfp中表的数据按显示->编辑的样式导出来
只看楼主 加入收藏
阿狸bccn
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2014-8-20
结帖率:0
收藏
已结贴  问题点数:20 回复次数:25 
能否将vfp中表的数据按显示->编辑的样式导出来
vfp中表的格式都是以下这个样子的:
字段1  字段2   字段3 ...
a        b      c
d        e      f

如果想把表中的数据按以下格式输出的话,不知道各位有没什么办法呢?导出的数据文件为xls,本人想了很久都想不到什么头绪,故向各位请教。
字段1:a
字段2:b
字段3:c
...
字段1:d
字段2:e
字段3:f
2016-03-13 17:00
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
收藏
得分:3 
传个具体表看看
2016-03-13 17:18
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:3 
这有何难

坚守VFP最后的阵地
2016-03-13 17:51
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10607
专家分:43186
注 册:2014-5-20
收藏
得分:3 
读一条记录,写三条记录。
2016-03-13 18:52
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:3 
以下是引用sdta在2016-3-13 17:51:38的发言:

这有何难

到vfp論壇討一句SQL指令拿到SQL Server中用是常態,一條就難。

授人以渔,不授人以鱼。
2016-03-13 19:02
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
将行记录转换为列记录,再导入EXCEL中

坚守VFP最后的阵地
2016-03-13 19:47
aaaaaa
Rank: 8Rank: 8
等 级:贵宾
威 望:21
帖 子:796
专家分:937
注 册:2012-9-4
收藏
得分:3 
这个是 SQL 的 Pivot (一列变多列) 函数的逆函数 UnPivot (多列合并到1列)
如果用一句 SQL 语句做:

*!*    UnPivot 函数顾名思义就是把几列合并到1列中去

Close Databases
Create Table Test1 (Id Int, 姓名 C(20), Q1 Int, Q2 Int, Q3 Int, Q4 Int)
Insert Into Test1 Values(1, '老张', 1000, 2000, 4000, 5000)
Insert Into Test1 Values(2, '小李', 3000, 3500, 4200, 5500)

*!*    假如要把 4 个季度的字段合并到一个年度的字段中
Select Id, 姓名, (Select Q1 As 年度 From Test1 Where Id=a.Id) From Test1 As A ;
    Union ;
    Select Id, 姓名, (Select Q2 From Test1 Where Id=a.Id) From Test1 As A ;
    Union ;
    Select Id, 姓名, (Select Q3 From Test1 Where Id=a.Id) From Test1 As A ;
    Union ;
    Select Id, 姓名, (Select Q4 From Test1 Where Id=a.Id) ;
    from Test1 As A

民工子弟学校22班团小组长阳光模特队长冲锋篮球队前锋小苹果合唱队领唱蓝天舞蹈队编舞
2016-03-13 20:13
aaaaaa
Rank: 8Rank: 8
等 级:贵宾
威 望:21
帖 子:796
专家分:937
注 册:2012-9-4
收藏
得分:0 
以下是引用sdta在2016-3-13 19:47:37的发言:

将行记录转换为列记录,再导入EXCEL中


可以直接把原表先导入EXCEL中,在EXCEL中有UnPivot函数的。

民工子弟学校22班团小组长阳光模特队长冲锋篮球队前锋小苹果合唱队领唱蓝天舞蹈队编舞
2016-03-13 20:50
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10607
专家分:43186
注 册:2014-5-20
收藏
得分:0 
以下是引用aaaaaa在2016-3-13 20:13:23的发言:

这个是 SQL 的 Pivot (一列变多列) 函数的逆函数 UnPivot (多列合并到1列)
如果用一句 SQL 语句做:

*!*    UnPivot 函数顾名思义就是把几列合并到1列中去

Close Databases
Create Table Test1 (Id Int, 姓名 C(20), Q1 Int, Q2 Int, Q3 Int, Q4 Int)
Insert Into Test1 Values(1, '老张', 1000, 2000, 4000, 5000)
Insert Into Test1 Values(2, '小李', 3000, 3500, 4200, 5500)

*!*    假如要把 4 个季度的字段合并到一个年度的字段中
Select Id, 姓名, (Select Q1 As 年度 From Test1 Where Id=a.Id) From Test1 As A ;
    Union ;
    Select Id, 姓名, (Select Q2 From Test1 Where Id=a.Id) From Test1 As A ;
    Union ;
    Select Id, 姓名, (Select Q3 From Test1 Where Id=a.Id) From Test1 As A ;
    Union ;
    Select Id, 姓名, (Select Q4 From Test1 Where Id=a.Id) ;
    from Test1 As A

楼主要的结果貌似这样:
图片附件: 游客没有浏览图片的权限,请 登录注册
2016-03-13 21:27
aaaaaa
Rank: 8Rank: 8
等 级:贵宾
威 望:21
帖 子:796
专家分:937
注 册:2012-9-4
收藏
得分:0 
中间有空记录间隔的数据表,估计任何数据库的 SQL 语句都难办到,尤其是只使用一条 SQL 语句。
不好办,没招。

只能用过程语句做,比如 Sacn / EndScan。

民工子弟学校22班团小组长阳光模特队长冲锋篮球队前锋小苹果合唱队领唱蓝天舞蹈队编舞
2016-03-13 21:53
快速回复:能否将vfp中表的数据按显示->编辑的样式导出来
数据加载中...
 
   



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

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