| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4343 人关注过本帖
标题:如何取得字段的宽度并重新设置其宽度?
只看楼主 加入收藏
yang725
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:53
专家分:123
注 册:2009-3-12
结帖率:69.23%
收藏
已结贴  问题点数:20 回复次数:18 
如何取得字段的宽度并重新设置其宽度?
表kmmck.dbf中有一字段kmx1,N型,在程序中怎样取得kmx1字段的宽度并重新的设置其宽度?比如:其宽度小于16时则重新设置为16。请教了,谢谢!
搜索更多相关主题的帖子: 如何 
2014-07-10 09:30
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
为什么要修改原数据表结构,这是不符合常理的。

坚守VFP最后的阵地
2014-07-10 09:38
yang725
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:53
专家分:123
注 册:2009-3-12
收藏
得分:0 
因为原来的字段宽度不适应瑞的需要了,需要增加其宽度,不是更改表结构。
2014-07-10 09:43
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
以下是引用yang725在2014-7-10 09:43:44的发言:

因为原来的字段宽度不适应瑞的需要了,需要增加其宽度,不是更改表结构。

增加字段宽度也是修改表结构

坚守VFP最后的阵地
2014-07-10 09:48
yang725
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:53
专家分:123
注 册:2009-3-12
收藏
得分:0 
那这个问题能解决吗?
2014-07-10 10:12
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
字段kmx1,N型即使要修改宽度,还要知道该字段是否有小数位,修改宽度后的小数位是否还要保留原来的长度,这些问题楼主也没说清楚。
字段宽度可用Afields()获取。

坚守VFP最后的阵地
2014-07-10 10:12
yang725
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:53
专家分:123
注 册:2009-3-12
收藏
得分:0 
该字段没有小数,不需要知道和保留小数位。
2014-07-10 10:14
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
只单纯修改字段宽度,打开表结构,直接修改宽度就行了,为什么还要以代码方式修改。

坚守VFP最后的阵地
2014-07-10 10:21
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:4 
以下是引用yang725在2014-7-10 10:12:18的发言:

那这个问题能解决吗?

可以解决,但有点小题大做了

坚守VFP最后的阵地
2014-07-10 10:23
kiff
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:广州
等 级:贵宾
威 望:46
帖 子:756
专家分:2531
注 册:2013-1-30
收藏
得分:3 
是想批量处理吧
FOR I=1 TO ADIR(TABLE_NAME,"*.DBF") &&注意DBF文件路径
    USE (TABLE_NAME[I,1]) ALIAS TABLE_TMP IN 0  EXCLUSIVE
    RELEASE ArrayName1
    =AFIELDS(ArrayName1,'TABLE_TMP')
    I2=(ASCAN(ArrayName1,'KMX1')+17)/18
    IF I2>=1 AND ArrayName1[I2,3]<16
        ALTER TABLE (TABLE_TMP) ALTER KMX1 N(16) &&注意如果有小数位就加上
    ENDIF
    USE IN TABLE_TMP
ENDFOR
2014-07-10 10:35
快速回复:如何取得字段的宽度并重新设置其宽度?
数据加载中...
 
   



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

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