Ms-Access
如何使用 SQL 檢查列是否是 Access 數據庫的標識列?
知道如何檢查一個列是否是 Microsoft SQL Server 的標識列,我目前仍然沒有找到對 Microsoft Access 數據庫的 SQL 執行相同操作的解決方案。
我的問題:
如何使用 SQL 檢查列是否是 Microsoft Access 數據庫的標識列?
(因為我想在我的程式碼中執行此操作,所以 ADO.NET 解決方案也會有所幫助,儘管這似乎是不可能的)
DAO 有一個解決方案:
Dim db As DAO.Database, tbl As DAO.TableDef Dim f As DAO.Field Set db = CurrentDb() For Each tbl In db.TableDefs If tbl.Name = "Table1" Then For Each f In tbl.Fields If f.Attributes = 17 And f.Type = 4 Then '(17 = dbAutoIncrField (16) + dbFixedField(1), 4 = dbLong) MsgBox ("Table1 idenity column: " & f.Name) End If Next f End If Next tbl
這將檢查是否存在
Type
= 4 [dbLong
] 且Attributes
值為 17 (16 [dbAutoIncrField
] + 1 [dbFixedField
]) 的列。到目前為止,這對我來說效果很好。