第一種:壓縮數據庫
用過Access的朋友應該都知道在Access的工具欄上我們可以通過:
點擊“工具”=>“數據庫實用工具”=>“壓縮和修復數據庫”來完成對數據庫的壓縮和修復工作,當這項工作完成時,Access各空數據表的“自動編號”字段也會做歸零操作。
而我們也可以用ASP來完成這項工作,以下是壓縮數據庫主要SUB:
























我們可以很輕松地使用<%Call CompactDB("yourdb.mdb")%>完成調用。
第二種:SQL語句
如果你了解SQL里ALTER TABLE的用法,這一切將變得非常簡單:
ALTER TABLE — 更改表屬性
ALTER TABLE table [ * ] ADD [ COLUMN ] column typeALTER TABLE table [ * ] ALTER [ COLUMN ] column { SET DEFAULT value | DROP DEFAULT }ALTER TABLE table [ * ] RENAME [ COLUMN ] column TO newcolumnALTER TABLE table RENAME TO newtable
輸入
- table
- 試圖更改的現存表的名稱.
- column
- 現存或新的列名稱.
- type
- 新列的類型.
- newcolumn
- 現存列的新名稱.
- newtable
- 表的新名稱.
輸出
- ALTER
- 從被更名的列或表返回的信息.
- ERROR
- 如果一個列或表不存在返回的信息.
我們解決Access數據庫“自動編號”字段自動歸零可以這樣完成:

其中COLUMN關鍵字可以省略,下面這樣也是可以的:

剩下的交給ASP執行SQL語句完成就可以了,這里不再贅述。
值得注意的一點:有些程序員喜歡保存Access數據庫為其它后綴名如.asp、.asa等,當我們重命名這些數據庫時有可能會出現數據庫體積增大的情況,而這種情況亦有可能導致上面的ALTER TABLE語句無法正常工作,這種異常我曾經在改名后的Access數據庫的SQL特定查詢中遇到過,當時報錯情況是:無效的字段數據類型。后來反復嘗試了幾遍,發現利用“壓縮和修復數據庫”也可以修復這個異常,大家可以自己注意一下^_^