最近在做論壇數(shù)據(jù)轉(zhuǎn)換程序。例如表src, 表dest都有一個(gè)id自增長(zhǎng)字段,(都是access數(shù)據(jù)庫(kù),起始值1 ,步長(zhǎng)1)
表src中id,char兩字段的值為
1、a
2、b
3、c
6、d
7、e
9、f
這樣在將src中的記錄插入表dest的時(shí)候會(huì)有麻煩,使得表dest中記錄如下所示
1、a
2、b
3、c
4、d
5、e
6、f
這樣造成dest和其它關(guān)聯(lián)表中的數(shù)據(jù)難以對(duì)應(yīng) 。因此有必要在向表dest中插入記錄時(shí) 設(shè)置其id字段的起始值,然后再進(jìn)行插入操作
在 http://access911.net/fixhtm/71FAB01E13DC.htm?tt= 發(fā)現(xiàn)如下文字:
通過(guò)以下語(yǔ)句,你可以在建表的時(shí)候指定其起始值和步進(jìn)值:
CREATE TABLE tblNewOrder2 (
OrderId AUTOINCREMENT (1000, 10),
ItemId LONG, Quantity LONG)
你也可以用下面的語(yǔ)句修改下一個(gè)起始值和步進(jìn)值:
ALTER TABLE tblOrder
ALTER COLUMN OrderId COUNTER (2000, 50)
要重新開(kāi)始:
ALTER TABLE tableName
ALTER COLUMN OrderId COUNTER (1, 1)
在 VBE 界面里面用以下代碼:
docmd.runsql "ALTER TABLE tableName ALTER COLUMN OrderId COUNTER (1, 1)"
這里要注意的是自動(dòng)編號(hào)往往被用作標(biāo)識(shí)記錄的唯一性,但是 Jet 在用 DDL 語(yǔ)句更改自動(dòng)編號(hào)的同時(shí)不會(huì)保證修改后的自動(dòng)編號(hào)仍然保持唯一性,因此會(huì)出現(xiàn)標(biāo)識(shí)號(hào)重復(fù)的現(xiàn)象。要避免這一現(xiàn)象最好把自動(dòng)編號(hào)設(shè)定為主鍵、或者不可重復(fù)。
哈哈 看來(lái)我的問(wèn)題可以解決了 ,雖然是很不起眼的東西 ,但是用到時(shí)候沒(méi)有 就會(huì)很抓狂 ^_^
程序雖然簡(jiǎn)單 但還是決定 明天把代碼貼出來(lái)
http://www.cnblogs.com/zjneter/archive/2006/12/28/606575.html
新聞熱點(diǎn)
疑難解答
圖片精選