[Delphi][問題]請問Access的自動編號取得問題 |
尚未結案
|
silveryfox
一般會員 發表:6 回覆:7 積分:2 註冊:2004-10-22 發送簡訊給我 |
|
Mickey
版主 發表:77 回覆:1882 積分:1390 註冊:2002-12-11 發送簡訊給我 |
|
lcjan
初階會員 發表:11 回覆:60 積分:29 註冊:2002-03-13 發送簡訊給我 |
|
wameng
版主 發表:31 回覆:1336 積分:1188 註冊:2004-09-16 發送簡訊給我 |
|
silveryfox
一般會員 發表:6 回覆:7 積分:2 註冊:2004-10-22 發送簡訊給我 |
引言: 如 Mickey 兄所言,是較妥當的作法。 若仍要得知 下一編號 我覺得簡單來說 Select Max(ID) from TableName 加一 不就是了。 ~~~~~~~~~~~ 難得聰明,常常糊塗。 ~~~~~~~~~~~回Mickey兄 我的確是個新手﹐而且也不熟Access的操作 不過我還是有爬文﹐知道一點點"自動欄位"是不可被編輯的特性 嚴格來說我提出的不是"需求"而只是問題 因為在參考過板上的文章後個人覺得是很難辦到的 所以才厚著臉皮發文求問... 至於lcjan兄與wameng兄所提的我有想過 但是自動欄位的增加似乎不是依據現有的最大值加一 所以一旦最大值被砍掉就會有落差﹐小弟應該沒講錯 不論如何﹐很謝謝各位的指教 |
wyndog
資深會員 發表:7 回覆:362 積分:348 註冊:2004-10-12 發送簡訊給我 |
嗯,自動編號是會一直累計的,所以除非你沒刪除過紀錄
不然,是不一定是最大值 1 的
不過,如果資料庫重整之後是會符合這個公式的
但我想,也不太可能為了知道編號就重整吧 :p 另外,就是根據經驗,自動編號是在寫入紀錄的時候產生的
所以,看來是沒有辦法在寫入之前就知道編號
除非,要嘛,自動編號的欄位你自己弄
要嘛,就是你的資料庫只有你一個 AP 在用
也不會有別的 AP 對他做刪除動作
這樣就可以強迫讓編號 = 最大值 1 不然就是,有個最簡單的方法,把本來希望取得編號的動作
看看有沒有方法移到 AfterPost 事件來做
如果要這麼用的原因是因為紀錄中的欄位會根據自動編號來改變內容的話,就 法1: 加個旗標上去,讓程式判斷
AfterPost 的事件是使用者新增紀錄時觸發的呢?
還是你在做自動編號的處理時,自行修改欄位時觸發的 法2: 在 record 裡加一個 field 來紀錄有沒有根據自動欄位做某運算
爾後才批次去進行處理 目前,我想到的方法大概是這樣 不過,最後我覺得太麻煩了
就把程式邏輯修改成不需要在寫入時先預知編號... 畢竟程式是我自己寫的,我沒必要找自己麻煩
|
jimmy_wei
高階會員 發表:9 回覆:176 積分:147 註冊:2003-08-28 發送簡訊給我 |
|
silveryfox
一般會員 發表:6 回覆:7 積分:2 註冊:2004-10-22 發送簡訊給我 |
|
Mickey
版主 發表:77 回覆:1882 積分:1390 註冊:2002-12-11 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |