我有以下結構的訪問表和自動增量值的數字字段:填寫MS ACCESS
INO IDATE NAME ADDRESS CITY PHONE CONTACT & Other Fields.....
1430 01-Apr-15
1431 01-Apr-15
1432 01-Apr-15
1435 01-Apr-15
1436 01-Apr-15
1440 01-Apr-15
1441 01-Apr-15
1448 01-Apr-15
1450 01-Apr-15
1455 02-Apr-15
1456 02-Apr-15
1459 02-Apr-15
字段「INO」設置爲數據類型「NUMBER」字段大小:雙索引=是
該字段以編程方式自動遞增,但是刪除了一些無用的&從數據庫中取消的記錄。 INO。系列不合格。我想重新生成號碼&填補刪除號碼的空白。 即INO1435應該是1433,1436到1434,1440到1435,&等等。
Select語句我用它來從表中篩選記錄:
SELECT *
FROM IDETAIL
WHERE TYPE=True AND INO>=1430 ORDER BY INO;
截至1430記錄是爲了有差距後,1430 &日01-APR-15。 表中有大約18,000條記錄,因此不容易手動更正記錄。我怎樣才能糾正這與SQL或任何其他命令。
P.S. :沒有相關的表或條目生效。我們只是爲了會計目的而維護條目的順序。
就像我們使用「Do While」功能一樣。 起始條目INo是正確的和已知的。所有條目都以循環開始,從第一條記錄INo = 1430開始,下一條記錄INO = 1430 + 1,接着1430 + 2直到最後一條記錄。如何在UPDATE查詢中實現相同的「WHERE TYPE = TRUE」。
任何你想要這樣做的理由?在一個自動數字字段中缺少id並且不會影響性能。你可以改變它,但是你還需要更新相關的表格。這可能是一個混亂 –
身份應該永遠不會改變。它們代表特定的記錄,如果要更新它們,則必須更新其他所有參考文件。要將其納入現實世界的角度,您是否希望在每次有人死亡時將不得不更改您的社會安全號碼並將其轉移到前方? – Siyual
OP可能使用INO作爲「發票號碼」,並可能希望爲會計目的保留一個序列。我的建議,如果是這樣的話,永遠不要從數據庫中刪除發票記錄。相反,使用字段將它們標記爲已刪除,因此生成發票單據的報告可以爲審覈員生成「跳過」或「已刪除」的記錄。 –