accesssql修改
sql="update 数据表 set 字段1=值1,字段2=值2……字段n=值n where 条件表达式"
2. 用SQL语句修改ACCESS字段名
先创建一个临时表
例如原有表中有三个字段COL1,COL2,COL3
把COL3
改为COL4语句如下:
1.创建临时表
SELECT
COL1,COL2,COL3
AS
COL4
INTO
TABLENAME_TEMP
FROM
(SELECT
COL1,COL2,COL3
FROM
TABLENAME)
;
2.删除原表
DROP
TABLE
TABLENAME;
3.把临时表的数据插入到原表中
SELECT
*
INTO
TABLENAME
FROM
TABLENAME_TEMP;
4.删除临时表
DROP
TABLE
TABLENAME_TEMP;
5.这样字段名字就修改完成
3. ACCESS数据库中如何利用SQL语句实现循环修改表的目的
ACCESS
JET引擎不支持循环。如果一定要循环,可以利用ACCESS内置的VBA语言编程予以实现,但是这已经不属于数据库解决问题的方式了(数据库解决问题的方式是面向记录集合的,碰到需要面向单笔记录解决问题时它很无力)。
下面是纯SQL的解决方案,供参考
12update tblB b,tblA a set b.SCORE=a.NEWSCORE where a.CNAME=b.CNAME;
请留意tblA中的CNAME应该是唯一的,否则系统会选取同CNAME其中一条记录的NEWSCORE去更新tblB中的SCORE。
4. ACCESS中SQL语句修改字段默认值
ACCESS修改字段默认值的SQL语句写法如下:
altertable[table]altercolumn[numbers]longdefault1
但是请注意ACCESS数据库中的SQLJet引擎的默认语法为“ANSI-89SQL”语法,其数据定义功能比较弱,它不支持设置字段的默认值属性。
如果要以运行SQL数据定义语言的方法修改字段的默认值,就必须使用“ANSI-92SQL”语法。
那么在ACCESS数据库中如何实现SQL语句修改字段默认值呢?解决办法由两种:
1)使用ADO数据访问对象运行SQL数据定义查询语句
打开VBE编辑器——工具——引用
勾选“MicrosoftActiveXDataObjects2.1Library"或更高版本点击“确认”按钮
在ACCESS窗体的某个事件过程里(例如命令按钮单击事件)编写下列代码:
PrivateSubCommand0_Click()
DimcnAsNewADODB.Connection
Setcn=CurrentProject.Connection
cn.Execute"altertable[table]altercolumn[numbers]longdefault1"'此句修改默认值
EndSub
这样既可实现在ACCESS中用SQL语句修改字段默认值了。
2)将ACCESS数据库的SQL语法改为“ANSI-92SQL”
菜单——工具——选项设置SQL语法请参见下图:
这样前面给出的SQL语句就可以在ACCESS中直接运行了,因为已经转换了语法。这里给出的是ACCESS2003设置“SQL语法”的方法,若是2007、2010具体步骤会不太相同,但是基本原理是相通。
说明:
推荐使用第一种方法。至于第二种方法除非是新建数据库时就进行语法转换,否则最好避免使用。因为这样很可能会导致原来已经建立的查询运行结果不正确甚至无法运行,还可能导致其他设置出问题,例如有效性规则等不一而足。
这可是老鸟支招,如果感觉有用能给加点分吗?
5. access中用sql修改表格名称
sp_rename可以伏宏重命名,语法如下: sp_rename [ @objname = ] 'object_name' , [ @newname = ] 'new_name' [ , [ @objtype = ] 'object_type' ] 参数 [@objname =] 'object_name' 是用户对象(表、视图、列、存储过程、触发器、默认值、数据库、对象或规则)或数据类型的当前名称。如果要重命名的对象是表中的一列,那么 object_name 必须为 table.column 形式。如果要重命名的是索引,那么 object_name 必须为 table.index 形式。object_name 为 nvarchar(776) 类型,无默认虚厅贺值。 [@newname =] 'new_name' 是指定对象的新名称
查看更多
网络知道
提供内容
有差派用
6. 如何用SQL语句修改ACCESS字段的属性
如果你修改的数据和你表中字段属性相配的话。在VB中从一张表添加数据到另一张表是很简单的事情。其方法如下:
1、查询出你修改好的数据
adodc1.recordsorce
=
select
*
from
表
where
修改时间
=
'"
&
xxx
&"'
注:你要弄清楚要把哪个表的数据写入另一个表。上面的代码是你查询出要写入另一张表的数据。
2、把数据修改并添加到备份表。
with
adodc2.ecordset
for
i
=
0
to
adodc1.recordset.count
.addnew
.字段名1
=
字段名1
'
第二个字段名1完整的写法是
adodc1.recordset
!字段名1
。。。。。。。
.update
.movenext
next
i
end
with
注意:这样写就要用两个ADO控件
1个查询出你所要的信息
这里是
ADO1控件查询出你所要添加的信息。ADO1添加数据,在添加数据的同时可以修改数据。当然数据库都要事先连接好的。
ADO2的数据源也要写好。它的代码很简单:ADODC2。recordsourec
=
"select
*
from
被写表"
以上代码可以一次添加多条数据。你查询出来几条,就可以添加几条。当然,如果你的数据与表字段属性不匹配是会出错的,如你一个表字段的属性是数字型的,你添加的数据是文本型的,就会出错。你就要适当的转换数据类型。