设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 3657|回复: 5
打印 上一主题 下一主题

[模块/函数] Access中如何用代码建立小数类型的字段

[复制链接]

点击这里给我发消息

跳转到指定楼层
1#
发表于 2015-5-20 08:22:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在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对象,具体代码略。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享分享 分享淘帖 订阅订阅

点击这里给我发消息

2#
发表于 2015-5-20 08:52:10 | 只看该作者
ADOX会好一些,可以控制比较多的内容
3#
发表于 2015-5-20 11:45:36 | 只看该作者
学习
回复

使用道具 举报

点击这里给我发消息

4#
发表于 2015-5-22 05:16:46 来自手机 | 只看该作者
Decimal与Double,currency有区别吗?
5#
发表于 2015-8-28 20:55:35 | 只看该作者
第三种方法最好把代码写出来呀,不过很好了,学习一下
6#
发表于 2016-10-11 06:37:16 | 只看该作者
新生学习一下
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-11-1 21:31 , Processed in 0.082619 second(s), 29 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表