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
被寫表"
以上代碼可以一次添加多條數據。你查詢出來幾條,就可以添加幾條。當然,如果你的數據與表欄位屬性不匹配是會出錯的,如你一個表欄位的屬性是數字型的,你添加的數據是文本型的,就會出錯。你就要適當的轉換數據類型。