0

在 access 2007 中,如何使用查询将十进制类型的列添加到访问表中?在 GUI 中,我可以选择数据类型为数字,为此我可以将字段大小设置为十进制。现在我想使用查询来做同样的事情。怎么做?我尝试在访问查询选项中运行以下操作。但没有用

ALTER TABLE MyTable ADD COLUMN MyField DECIMAL (10,3)

另外,我如何使用数据类型日期/时间和格式为 longtime 的列进行广告。所以请告诉我如何使用查询或使用任何代码来完成这两者。

4

3 回答 3

0

您的查询看起来不错。

默认的 Jet 4.0 mdb 文件不支持十进制数据类型。您必须使用 SQL Server 兼容性语法 (ANSI 92) 设置才能在 SQL 窗口中使用十进制数据类型。

单击菜单,工具 > 选项。单击表/查询选项卡。在 SQL Server 兼容性语法 (ANSI 92) 部分中选中“此数据库”复选框。此模式将影响整个数据库,包括使用通配符的查询,因此您可能希望在您的数据库副本上尝试此操作

于 2013-06-13T08:35:06.980 回答
0

VBA解决方案

Dim db As Database
Dim t As TableDef
Dim f As Field
Dim p

Set db = CurrentDb
Set t = db.TableDefs("myTable")
Set f = t.createField("myDateField", dbDate)
Call t.Fields.Append(f)

Set p = f.CreateProperty("Format", dbText, "Long Date")
Call f.Properties.Append(p)
于 2013-06-13T14:16:16.803 回答
0

上面的 office.microsoft 链接现在也消失了。以下是在 Access 2007 中设置 SQL Server 兼容性语法标志的方法(可能稍后 - 我无法检查,因为我只有 2007):

  • 单击左上角的圆形 Office 按钮
  • 访问选项
  • 对象设计师
  • 单击 SQL Server Compatible Syntax 下的任一选项,具体取决于您希望它仅应用于此数据库还是未来的所有数据库

如果“此数据库”复选框被禁用,请尝试关闭并重新打开数据库,然后再次执行这些步骤,而不要先接触数据库的任何其他部分

在此更改之后,在创建/更改表时使用旧版“DECIMAL(11,2)”SQL 可以正常工作。

于 2016-03-25T18:39:51.447 回答