2012-10-24 19 views
1

有沒有人知道如何檢索Jet(MS Access)中的自動增量字段(又稱COUNTER或「AutoNumber」)的種子和增量)數據庫?Jet(MS Access)獲取種子並增加COUNTER列

我已經枚舉了相應的DAO.Field對象,ADO.Field對象和ADOX.Column對象的所有屬性,並且一直未能識別任何東西。任何方法都是可以接受的,包括MSys *表的駭人攻擊或本地方法調用。

背景:

噴氣SQL,您可以創建一個自定義的種子和增量與DDL數據類型子句COUNTER(seed, increment)自動遞增列,如:

CREATE TABLE ODD_INCREMENTER (
    ID_COL COUNTER(-52098, 42) 
    , TEXT_COL VARCHAR(50) 
) 

其中創建了下表(一些數據用於演示):

enter image description here

+0

你看過嗎? http://stackoverflow.com/questions/6498221/retreve-next-autonumber-for-access-table – HK1

回答

3

您可以使用ADOX

Dim cat As New ADOX.Catalog 
Dim tbl As ADOX.Table  
Dim col As ADOX.Column  

Set cat.ActiveConnection = CurrentProject.Connection 
Set tbl = cat.Tables("Table1") 
Set col = tbl.Columns("AKey") 
'Next autonumber 
lngSeed = col.Properties("Seed") 

艾倫·布朗有一個相當詳細參考:http://allenbrowne.com/ser-40.html

+1

Aaah,我正在使用'CurrentProject.AccessConnection' –

2

考慮使用後期綁定,而不是增加一個參考。

通過檢查其屬性,您可以獲得除種子以外的增量。

+1

當這樣一個有限的ADOX需要時,一個好主意。 –