Ms access 访问不';不保留列的数据类型

Ms access 访问不';不保留列的数据类型,ms-access,ms-access-2007,vba,Ms Access,Ms Access 2007,Vba,我在MS Access应用程序中有一个本地表和一个查询。查询用值填充表,表中有一列的返回类型值应为double,我将字段大小设置为double,但在运行应用程序时,它会自动将该列的字段大小更改为小数点后两位。我不希望该列具有舍入值 例如:值12.44556输出为12.44 如何强制访问以使用双as字段大小?Access此时会覆盖我设置的字段大小 有什么想法吗,我有点迷路了 我有一个非常直截了当的SQL SELECT A,B,C,D INTO TABLE_TEST FROM TESTABC

我在MS Access应用程序中有一个本地表和一个查询。查询用值填充表,表中有一列的返回类型值应为double,我将字段大小设置为double,但在运行应用程序时,它会自动将该列的字段大小更改为小数点后两位。我不希望该列具有舍入值

例如:值12.44556输出为12.44

如何强制访问以使用双as字段大小?Access此时会覆盖我设置的字段大小

有什么想法吗,我有点迷路了

我有一个非常直截了当的SQL

SELECT A,B,C,D 
INTO TABLE_TEST 
FROM TESTABC
其中,TABLE_TEST是本地表,TESTABC是sqldb表

此外,在此之后,我将更新列,使用如下所示的某些乘法

Update TABLE_TEST
SET B= A/C*D

A、 B、C和D都应该将字段大小设置为Double,即使我将其设置为Double,在运行时,Access会将其更改回十进制:\

属性应该是这样的:

导致:

要从查询中创建,可以使用以下行中的内容:

SELECT Table1.AText, CDbl([ANumeric]/2) AS Expr1 INTO b
FROM Table1;

CDbl
将确保您获得双重返回。

属性应如下所示:

导致:

要从查询中创建,可以使用以下行中的内容:

SELECT Table1.AText, CDbl([ANumeric]/2) AS Expr1 INTO b
FROM Table1;


CDbl
将确保您获得双精度返回。

选择到创建一个新表。如果要将记录添加到现有表(使用预定义的数据类型),应使用追加查询。

选择“插入”将创建新表。如果要将记录添加到现有表中(使用预定义的数据类型),则应使用追加查询。

是否确定要查看的是存储格式而不是显示格式?我将通过转到“表设计”视图并设置字段属性来设置字段大小。所以我认为这是存储格式。请检查字段的
格式
属性。确保它是空的。是的,它是空的。困扰我的是,如果我将“Double”设置为字段大小,access为什么要将其更改为带第二轮值的十进制。我想您正在某处执行“生成表”查询?您确定要查看的是存储格式,而不是显示格式吗?我正在通过转到“表设计”视图并设置字段属性来设置字段大小。所以我认为这是存储格式。请检查字段的
格式
属性。确保它是空的。是的,它是空的。困扰我的是,如果我将“Double”设置为字段大小,access为什么要将其更改为带第二轮值的十进制。我想您正在某处执行make table查询?是的,问题是即使将字段设置为Double,在运行查询时,我也会将结果集设置为小数,此外,该表会覆盖我的设置,并自行将字段大小设置回十进制。请将查询的sql添加到您的问题中。谢谢,您的提示发挥了神奇的作用。Cdbl根据需要强制双输出。:)是的,问题是,即使将字段设置为双精度,在运行查询时,我会将结果集设置为小数,并且表会自动覆盖我的设置并将字段大小设置回小数。请将查询的sql添加到问题中。谢谢,您的提示发挥了神奇的作用。Cdbl根据需要强制双输出。:)不,我打算在每次运行应用程序时创建一个新表。然后您必须接受Access选择的数据类型。与其这样做,不如按您希望的方式创建表,运行删除查询以清除旧记录,并运行追加查询以插入新记录。我明白了,那么,是否还需要预先定义数据类型?实际上,我正在更新一个现有的应用程序,它用于生成“双”数据类型输出。我只是通过添加一些联接来更新查询,从那时起,access到处都会生成“Decimal”数据类型,而之前它会生成“Double”值。在access中预定义数据类型的方法是手动创建表,指定数据类型,然后保留原始表结构。AFAIK无法在MAKE TABLE/SELECT INTO查询中指定数据类型;这都是自动感知的。感谢您提供的见解,这些信息非常有用。不,我打算在每次运行应用程序时创建一个新表。然后您必须接受Access选择的数据类型。与其这样做,不如按您希望的方式创建表,运行删除查询以清除旧记录,并运行追加查询以插入新记录。我明白了,那么,是否还需要预先定义数据类型?实际上,我正在更新一个现有的应用程序,它用于生成“双”数据类型输出。我只是通过添加一些联接来更新查询,从那时起,access到处都会生成“Decimal”数据类型,而之前它会生成“Double”值。在access中预定义数据类型的方法是手动创建表,指定数据类型,然后保留原始表结构。AFAIK无法在MAKE TABLE/SELECT INTO查询中指定数据类型;这都是自动感知的。感谢您提供的见解,这些信息非常有用。