Identitätsfeld ermitteln

06/11/2007 - 12:58 von Maik Hahmann | Report spam
Hallo,

Ich möchtein einem globalen Modul für verschiedene Tabellen auf einem
SQL-Server herausfinden, ob der Primàrschlüssel ein Indentitàtsfeld
ist/enthàlt. Leider finde ich dazu nicht die passende Eigenschaft oder das
passende Attribut.
Siehe ???

Hat jemand einen Tip?

Hier der Code:

Dim db As DAO.Database
Dim tdf As TableDef
Dim idxLoop As Index
Dim primkey, keystring

Set db = CurrentDbC
Set tdf = db.TableDefs(tbl)
For Each idxLoop In tdf.Indexes
If Left(idxLoop.Name, 3) = "PK_" Then
primkey = idxLoop.Fields
primkey = Split(primkey, ";")
Exit For
End If
primkey = Null
Next idxLoop

keystring = ""

For i = LBound(primkey) To UBound(primkey)
If tdf.Fields(Mid(primkey(i), 2)).Attributes = ??? Then
If keystring = "" Then
keystring = keystring & Mid(primkey(i), 2)
Else
keystring = keystring & ";" & Mid(primkey(i), 2)
End If
End If
Next i

Danke Maik
 

Lesen sie die antworten

#1 Henry Habermacher
06/11/2007 - 13:25 | Warnen spam
Hallo Maik

Maik Hahmann wrote:
Ich möchtein einem globalen Modul für verschiedene Tabellen auf einem
SQL-Server herausfinden, ob der Primàrschlüssel ein Indentitàtsfeld
ist/enthàlt. Leider finde ich dazu nicht die passende Eigenschaft oder das
passende Attribut.
Siehe ???

Hat jemand einen Tip?

Hier der Code:



Das ist viel code für etwas einfaches.
Herauszufinden, ob ein Feld ein Autoincrement Feld ist, reicht es dessen
Eigenschaft abzufragen:

IF (Currentdb.TableDefs("DeineTabelle").Fields("DeineID").Attributes _
and dbAutoIncrField) = dbAutoIncrField Then
MsgBox "ist Identitàtsfeld"
Else
MsgBox "ist kein Identitàtsfeld"
End If

Gruss
Henry


Microsoft MVP Office Access
Keine E-Mails auf Postings in NGs. Danke.
Access FAQ www.donkarl.com

Ähnliche fragen