标题:关于表设计器的使用
只看楼主
紫眸
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2017-3-20
结帖率:0
已结贴  问题点数:20 回复次数:13 
关于表设计器的使用
   小白请教,工作中需要做10个数据表结构相同的表,字段分别都是“列1 | 列2 | 列3”,样例如下
列1 | 列2 | 列3
A      1     2
B      1     2
C      1     2
也就是说,列1每行记录都不同,列2和列3分别是固定的值,但是列2的值不同于列3.
    我原来的做法是每次通过追加记录的方式导入列1内容后,用replace填充列2、列3,用的是自由表的形式。现在在看教材,里边介绍到表设计器中的字段选项卡有一个默认值的设置,解释是“当添加一条记录时,如果该字段没有输入,默认值就是该字段的值。”我设置了默认值,并且使用单条记录插入的话,是能成功的自动填充默认值的,但是我使用追加记录,将只有一列数值的文本文件添加入表中时,设置了默认值的字段却不会显示默认值了。
    因为列2、列3的值是固定不变,我就想通过像是这种自动填充默认值的功能去填充表字段,就不需要每次都清空表内容,再追加记录到列1,然后再replace填充列2、列3,这样太麻烦了,请大神们指点我的这个方式,还是说只能用其他方式实现我的目的?
搜索更多相关主题的帖子: 数据表 replace 记录 
2017-03-20 17:00
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:5 
写一段代码实现你的需求。

坚守VFP最后的阵地
2017-03-20 17:37
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:0 
blank命令可以清空指定列的内容

坚守VFP最后的阵地
2017-03-20 17:38
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:0 
将你需要导入的数据事先保存在数组中,然后用 Replace From Arrsy 命令导入指定字段中。
如果不需要清空字段内容,直接用上面的命令,就可以实现你的目的。

坚守VFP最后的阵地
2017-03-20 17:40
紫眸
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2017-3-20
得分:0 
回复 4楼 sdta
将你需要导入的数据事先保存在数组中,然后用 Replace From Arrsy 命令导入指定字段中。
如果不需要清空字段内容,直接用上面的命令,就可以实现你的目的。

首先感谢这位大神的回复,然后根据大神的回复,我复述一下我的理解。你的意思是,我先用blank清空指定列内容,然后将需要导入列1的一列数据保存在数组中,再运行写好的Replace From Arrsy 命令填充固定内容的列2、列3,是这样吗?
针对我理解的意思,我想提出以下问题,第一,因为表中列1的数据记录行数每个月都有可能不一样,我是不是应该用 zap 清理表内容会好一些?第二,我能不能直接追加记录用文本文档填充列1呢?为什么建议用数组呢?
另外,为何当我做表的追加记录时,为何默认值无法生效呢?

[此贴子已经被作者于2017-3-21 09:39编辑过]

2017-03-21 09:36
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:0 
回复 5楼 紫眸
先看下REPLACE FROM ARRAY 命令的用法 就明白了

坚守VFP最后的阵地
2017-03-21 11:40
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:0 
贴上文本内容看一下
你用的VFP是什么版本,因为VFP6与VFP9中的ALINES()函数的用法不太一样,所以不同版本的代码写法有差别。

坚守VFP最后的阵地
2017-03-21 11:43
kiff
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:广州
等 级:贵宾
威 望:46
帖 子:756
专家分:2531
注 册:2013-1-30
得分:5 
"replace填充列2、列3"  还说麻烦?还苦苦思索什么捷径?
2017-03-21 12:08
紫眸
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2017-3-20
得分:0 
以下是引用sdta在2017-3-21 11:43:52的发言:

贴上文本内容看一下
你用的VFP是什么版本,因为VFP6与VFP9中的ALINES()函数的用法不太一样,所以不同版本的代码写法有差别。

用的是在论坛下载的VFP9 SP2,你上午提及的replace from array命令,暂时没读懂,还在研究中~alines()函数没用过~
2017-03-21 15:11
紫眸
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2017-3-20
得分:0 
以下是引用kiff在2017-3-21 12:08:36的发言:

"replace填充列2、列3"  还说麻烦?还苦苦思索什么捷径?

因为每次都要处理10张表,每张表的列2、列3都不一样,而且在此之前还要从另外系统获取数据,所以整个下来,都要1个小时以上,太浪费时间了
2017-03-21 15:13



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-475289-1-1.html




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

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