ACCESS中SQL语句修改字段默认值

例如: 表名:table 字段1:id 数据类型:自动编号 字段2:numbers 数据类型:数字 默认值:0 怎样用SQL语句把 字段(numbers)的默认值修改为 1 (ACCESS数据库中!) 跪求高手!跪求高手!跪求高手!跪求高手!跪求高手!

ACCESS修改字段默认值的SQL语句写法如下:

 

alter table [table] alter column [numbers] long default 1

 

但是请注意ACCESS数据库中的SQL Jet引擎的默认语法为“ANSI-89 SQL ”语法,其数据定义功能比较弱,它不支持设置字段的默认值属性。

如果要以运行SQL数据定义语言的方法修改字段的默认值,就必须使用“ANSI-92 SQL” 语法。

 

那么在ACCESS数据库中如何实现SQL语句修改字段默认值呢?解决办法由两种:

 

1)使用ADO数据访问对象运行SQL数据定义查询语句

打开VBE编辑器——工具——引用

勾选“Microsoft ActiveX Data Objects 2.1 Library"或更高版本 点击“确认”按钮

在ACCESS窗体的某个事件过程里(例如命令按钮单击事件)编写下列代码:

Private Sub Command0_Click()
Dim cn As New ADODB.Connection
Set cn = CurrentProject.Connection
cn.Execute "alter table [table] alter column [numbers] long default 1" '此句修改默认值
End Sub

这样既可实现在ACCESS中用SQL语句修改字段默认值了。

 

2)将ACCESS数据库的SQL语法改为“ANSI-92 SQL” 

菜单——工具——选项 设置SQL语法请参见下图:

 

 

这样前面给出的SQL语句就可以在ACCESS中直接运行了,因为已经转换了语法。这里给出的是ACCESS2003设置“SQL语法”的方法,若是2007、2010具体步骤会不太相同,但是基本原理是相通。

 

说明:

推荐使用第一种方法。至于第二种方法除非是新建数据库时就进行语法转换,否则最好避免使用。因为这样很可能会导致原来已经建立的查询运行结果不正确甚至无法运行,还可能导致其他设置出问题,例如有效性规则等不一而足。

 

这可是老鸟支招,如果感觉有用能给加点分吗?

温馨提示:内容为网友见解,仅供参考
第1个回答  2019-11-21
update
table
set
numbers=1
这句是把现在table
表里所有的记录的numbers字段值设为1
你可以在ACCESS字段设置里将这个字段的默认值设为1,不过如果有记录的话此前的记录值还是为0
第2个回答  2013-04-17
ALTER TABLE 表名 ALTER COLUMN 列名 新的数据类型[(长度)] NULL或NOT NULL
例:ALTER TABLE 教师 ALTER COLUMN 办公室 CHAR(20) NOT NULL default "办公室"
第3个回答  2013-04-17
A没用过,参考SQLSERVER用法:ALTER TABLE [dbo].[testtb]
DROP COLUMN numbersGOALTER TABLE [dbo].[testtb] ADD DEFAULT (0) FOR numbers GO
第4个回答  2013-04-17
ACCESS数据库的查询中就没有default的定义用ADO可以,能提受吗?

ACCESS中SQL语句修改字段默认值
Private Sub Command0_Click()Dim cn As New ADODB.ConnectionSet cn = CurrentProject.Connectioncn.Execute "alter table [table] alter column [numbers] long default 1" '此句修改默认值End Sub 这样既可实现在ACCESS中用SQL语句修改字段默认值了。2)将ACCESS数据库的SQL语法改为“ANSI-92 SQL...

如何给ACCESS 表中字段设置默认值!
用JET SQL 可以实现,语法结构: ALTER TABLE TABLENAME ALTER COLUMN FIELDNAME TEXT(40) DEFAULT 默认值 但是要注意,上述语句要用 ADODB.CONNECTION.EXECUTE 等方法来执行,直接用上述代码建立一个查询无法保存或者运行,会得到 ACCESS 的错误提示。 或者引用DAO或ADOX,你想怎么设就怎么设,功能很全...

如何用SQL语句设置access字段为自动增加?
递增 (默认值)每新增一条记录,“自动编号”字段值增加 1。随机 每新增一条记录,“自动编号”字段的值被指定为一个随机的 Long Integer 值。在表“设计”视图中,可以单击“字段属性”窗格中的“常规”选项卡,在表的属性表中设置该属性。由于NewValues只能在设计视图中实现,所以不可以用SQL来设置...

Sql语句,创建字段后,如何对字段格式进行设置?
从图片来看这是ACCESS数据库。Jet引擎的数据定义语言功能比较弱,也比较繁琐。例如你无法用Create Table 或 Alter Table 来定义字段的默认值、设置设置可重复的索引(但支持唯一索引)、定义除非NULL以外形式的约束等。下面是ACCESS Jet引擎可以识别的SQL数据定义代码,生成提问附图所示数据表“商品明细”:C...

如何用sql语言将access数据库中指定行和列的数据进行修改。如,将张三的...
update [成绩表] set [成绩]=95 where 学号=(select 学号 from 学生表 where [姓名]='张三') and 课程号=(select 课程号 from 课程表 where 课程号='语文')

用SQL语句改变Access数据库里面的值(用随机数)
update table_name set c_name = rand()*8+1

ACCESS表的某一字段输入时如何默认为上一单元格的内容
在表中无法实现你的要求,必须在窗体中实现;为了每次取序号最大一个值的姓名,可先创建一个查询,假设你的这张表名称为“表1”,查询的SQL语句是: select 序号,姓名 from 表1 order by 序号; 这个查询命名为“查询1”;基于“查询1”(也就是数据源设置为查询1)创建一个数据表窗体(如果您...

怎么修改access数据库的内容?
打开需要修改的Access数据库2、在数据库“对象”中点击“查询”3、点击“在设计视图中创建查询”4、在出现的界面中关闭“显示表”小窗口5、点击“视图”菜单,选择“SQL视图”,此时将出现查询窗口,您可以在此输入SQL语句了6、直接输入以下SQL语句:Update表SET字段=replace(字段,...

access数据库里怎么一下子就把某一字段的值全部改成一样的?
access 也可以使用sql语句,方法如下:当你打开一个查询以后,单击“新建方法”列表的时候并没有一个“使用SQL视图创建查询”的选项,这也表明ACCESS并不提倡在工作中使用SQL语言,那我们就单击“在设计视图中创建查询”这一项,之后将会在屏幕上出现一个设计视图,现在我们要切换到SQL视图,只要将鼠标移动...

sql 修改字段类型
1、修改字段名:alter table 表名 rename column A to B。2、修改字段默认值:alter table 表名 add default (0) for 字段名 with values,如果字段有默认值,则需要先删除字段的约束,在添加新的默认值。3、增加字段:alter table 表名 add 字段名 type not null default 0 。5、删除字段:al...

相似回答