Office中国论坛/Access中国论坛

标题: Access中如何用代码建立小数类型的字段 [打印本页]

作者: t小宝    时间: 2015-5-20 08:22
标题: Access中如何用代码建立小数类型的字段
在Access中用代码建立表和字段,通常用DAO的方式。
如:
    Dim dbs As DAO.Database
    Dim tdf As DAO.TableDef
    Dim fld As DAO.Field
    Set dbs = CurrentDb
    Set tdf = dbs.CreateTableDef("表1")
    Set fld = tdf.CreateField("字段1", dbText)
    tdf.Fields.Append fld
    dbs.TableDefs.Append tdf
或:
    CurrentDb.Execute "CREATE TABLE 表1(字段1 TEXT);"

但如果要建立"小数"类型(dbDecimal 、DECIMAL)的字段,这两种方法就会出错,提示字段定义语法错误。

有三种解决方法:

第一种,用ADO方式运行 CREATE TABLE 语句:
CurrentProject.Connection.Execute  "CREATE TABLE 表1(字段1 DECIMAL);"
注意这里用CurrentProject.Connection取代了CurrentDb,因为CurrentProject.Connection返回的是ADO的Connection对象。

第二种,在菜单上 点击 "工具"—>"选项", 选择"表/查询"选项卡,在"SQL Server兼容语法(ANSI 92)"项中勾选"当前数据库"。这个选项会改变数据库中SQL语句的解释方式,如通配符会改变,有可能原有的查询不能返回正常结果。
然后用RunSQL方法运行 CREATE TABLE 语句:
DoCmd.RunSQL "CREATE TABLE 表1(字段1 DECIMAL);"

第三种,用ADOX对象,具体代码略。

作者: 盗梦    时间: 2015-5-20 08:52
ADOX会好一些,可以控制比较多的内容
作者: todaynew    时间: 2015-5-20 11:45
学习
作者: zpy2    时间: 2015-5-22 05:16
Decimal与Double,currency有区别吗?
作者: purplerose    时间: 2015-8-28 20:55
第三种方法最好把代码写出来呀,不过很好了,学习一下
作者: ardu95    时间: 2016-10-11 06:37
新生学习一下




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3