Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

基础问题:VBA中double类型如何设置小数位

布鲁斯  发表于:2014-02-11 13:41:10  
复制

背景:

    我将一个自动生成的表转化成双精度型,然后发现小数位太多了,留2位就足够了。但是不知在哪个地方设置好,求解答!!


代码:

    DoCmd.RunSQL "alter table t_eng_单ENG报表临时表 alter column 时间 double;"


这句话能不能改呢?如何改?

 

Top
cspa 发表于:2014-02-11 16:50:04
如果你把字段设置成双精度型,那它就会将其中的数据保存成双精度型,位数自然多。不用管它,使用时再用format或其他方法显示成你想显示的位数就行。

煮江品茶 发表于:2014-02-11 17:03:09

dDoCmd.RunSQL "alter table t_eng_单ENG报表临时表 alter column 时间 decimal(6,2)"




布鲁斯 发表于:2014-02-12 10:37:24

煮江品茶老师,你的方法它会弹出错误,是不是哪里我用错了

如图:



cspa 发表于:2014-02-12 12:22:48

选择字段类型应根据需要,不是数字越精确越好,各类数据类型在计算机中占用的存储空间是不同的。如果你认为该字段必须为double类型,那你就应接受它的存储长度,否则应选择其他数据类型。如数据类型设置不恰当可能会造成浪费资源并导致运算速度下降等问题。

另外,好像alter table语句只能设置文本型及二进制字段的长度,不能设置小数位数。请参见以下帮助文件的说明:

ALTER TABLE 语句

修改已用 CREATE TABLE 语句创建好的表设计。


注意 对于非微软数据库, Microsoft Jet 数据库引擎 不支持ALTER TABLE, 或 数据定义语言 (DDL) 语句的使用。而使用 DAO创建方法。


语法

ALTER TABLE 表 {ADD ADD{COLUMN 字段类型 [ (字长)] [NOT NULL]    [CONSTRAINT 索引 ] |
    ALTER COLUMN 字段类型 [(字长)] |
    CONSTRAINT 多重字段索引 } |
    DROP DROP{COLUMN 字段 I CONSTRAINT 索引名 } }

ALTER TABLE 语句分为以下几个部分:

部分 说明
table 欲修改的表之名称。
field 欲在内增加或删除的字段的名称。或表内欲被替换的字段名称。
type 字段的数据类型。
size 字段的字符长度 (文本及二进制字段)。
index 字段索引。欲了解更多有关如何构造本索引的信息,请看 CONSTRAINT子句
multifieldindex 欲增加至 中的多重字段索引的定义。欲了解更多有关如何构造本索引的信息,请看 CONSTRAINT子句
indexname 欲删除的多重字段索引的名称。

说明

使用 ALTER TABLE 语句,可用多种不同方法更改当前已存在的表:你可以:

  • 使用 ADD COLUMN 在表中添加新的字段。需要指定字段名、数据类型、还可以 (对文本和二进制字段)指定长度。例如,下列语句在员工表中增加一 25 个字符的、名为 Notes 的文本字段:

    ALTER TABLE Employees ADD COLUMN Notes TEXT(25)

    也可以定义此字段的索引。关于单一字段索引的详细信息,请参阅CONSTRAINT 子句主题。

    如果对一字段指定 NOT NULL,则在这字段中添加的新记录必须有有效的数据。

  • 使用ALTER COLUMN改变一个当前字段的数据类型,需要指定字段名、新数据类型、还可以 (对文本和二进制字段)指定长度。例如,下列语句把雇员表中一个字段的数据类型, 被称为ZipCode(最初被定义为整数),改变成一个10字符文本字段:

    ALTER TABLE Employees ALTER COLUMN ZipCode TEXT(10)


  • 使用 ADD CONSTRAINT 添加多重字段索引。关于多重字段索引的详细信息,请参阅 CONSTRAINT 子句主题。
  • 使用 DROP COLUMN 删除字段。只要指定欲删除的字段名即可。
  • 使用 DROP CONSTRAINT 删除多重字段索引。只要在 CONSTRAINT 保留字后面指定索引名即可。

注意

  • 不能同时添加或删除一个以上的字段或索引。
  • 你可以使用 CREATE INDEX 语句在一个表中增加一个单字段或多重字段,你还可以使用 ALTER TABLE 或 DROP 语句删除一个由ALTER TABLE或CREATE INDEX建立的索引。
  • 可以在单一字段上使用 NOT NULL,或在用于单一字段或多重字段(名为 CONSTRAINT) 的 CONSTRAINT 子句中使用 NOT NULL。但是,一个字段只能使用一次 NOT NULL 限制。尝试多次应用此限制将导致运行错误。


总记录:4篇  页次:1/1 9 1 :