Access中如何用代码建立小数类型的字段
已有 2304 次阅读2015-5-20 08:53
|个人分类: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对象,具体代码略。