TKSoft-Online

Index-Erstellen (DAO) PDF Drucken E-Mail
( 0 Votes )
MS-Access Codes - Codeschnipsel DAO
  
Montag, den 31. Dezember 2007 um 01:00 Uhr

Problemstellung:

Wie kann ich eine Index mittels DAO erstellen?

Verweis auf die Microsoft DAO 3.X Object Library erforderlich

 


Sub NewCreateIndex(strTableName As String, strNewIndexName As String, strNewFldName As String, _
                   boolNewIgnoreNull 
As Boolean, boolNewUnique As Boolean, lngSort As Long
, _
                   
Optional boolPrimary As Boolean False
)
'*******************************************
'Name:      NewCreateIndex (Sub)
'Purpose:   Erstellt einen neuen Index für die Tabelle in der angegebenen Datenbank
'Author:    Thomas Keßler
'Date:      Dezember 01, 2002, 10:05:15
'Inputs:    strTabName = Name der Tabelle, NewIndexName = Name des neuen Indexes
'           NewFldName = Name des neuen Feldes, NewIgnoreNull = Nullwerte ignorieren ?,
'           NewUnique=Index Eindeutig ?, Sort=Sortierung des Feldes (0=Aufsteigend, 1=Absteigend)
'           boolPrimary=Primär Index
'Output:
'*******************************************
On Error GoTo 
ErrHandler

    
Dim db As 
DAO.Database
    
Dim tdf As 
DAO.TableDef
    
Dim idx As 
DAO.Index
    
Dim fld As 
DAO.Field

    
Set 
db = CurrentDb
    
Set 
tdf = db.TableDefs(strTableName)
    
    
'   Erstellen index
    Set 
idx = tdf.CreateIndex(strNewIndexName)
    
    
'   Anfügen Feld an den Index
    Set 
fld = idx.CreateField(strNewFldName)
    fld.Attributes = lngSort
    idx.Fields.Append fld
    
    idx.Primary = boolPrimary
    idx.IgnoreNulls = boolNewIgnoreNull
    
If boolPrimary = True Then
        idx.Unique = True
    Else
        idx.Unique = boolNewUnique
    
End If
    '   Anfügen Index an Auflistung
    tdf.Indexes.Append idx
    
Set db = Nothing
    
ExitHere:
    
Exit Sub
ErrHandler:
    
Dim strErrString As String
    strErrString = "Error Information..." & vbCrLf
    strErrString = strErrString & "Error#: " & Err.Number & vbCrLf
    strErrString = strErrString & " Description: " & Err.Description & vbCrLf
    MsgBox strErrString, vbCritical + vbOKOnly, "Error in Sub: NewCreateIndex"
    
Resume 
ExitHere
End Sub

Aufruf:


Call NewCreateIndex("tblNeu", "Prim_ID", "Test_ID", False, False, 1, True)


würde in der Tabelle "tblNeu" den Index "Prim_ID" aus dem Feld "Test_ID" mit absteigender Sortierung
als Primärschlüssel erstellen.


Call NewCreateIndex("tblNeu", "TestKey_ID", "Test_ID", True, False, 0, False)

würde in der Tabelle "tblNeu" den Index "TestKey_ID" aus dem Feld "Test_ID" mit aufsteigender Sortierung erstellen.

DatumKlicks
Total1727
Di. 221
Mo. 211
So. 203
Sa. 192
Do. 171
Mi. 165
Di. 153
Aktualisiert ( Freitag, den 02. Juli 2010 um 06:30 Uhr )
 

Kommentar schreiben


Sicherheitscode
Aktualisieren

Login

Latest Comments

Latest Forum Posts

Mehr »

Download Statistik

41 Kategorien
187 Dateien
173415 Downloads