Indexation d'une base de données

Contenu du snippet

Evitez les doublons dans une base de données.
L'indexer est la méthode idéale pour ce faire.

Source / Exemple :


Function ListIndex() As Integer

Dim DB As Database
Dim WS As Workspace
Dim TBL As TableDef
Dim FLD As Field
Dim IDX As Index
Dim Dyn As Recordset
Dim I As Integer

Set WS = DBEngine.Workspaces(0)
Set DB = WS.CreateDatabase("AGENDA.MDB", dbLangGeneral)

Set DB = Workspaces(0).OpenDatabase("AGENDA.MDB")
Set TBL = DB.CreateTableDef("AGENDA")
'Set Dyn = DB.OpenRecordset("SELECT Num FROM Agenda", dbOpenDynaset)
'============================================================
Set FLD = TBL.CreateField("Numéros", dbText, 14)
FLD.Required = True ' Les valeurs Null ne sont pas acceptées.
TBL.Fields.Append FLD
'-------------------------------------------------
Set FLD = TBL.CreateField("Noms", dbText, 30)
FLD.Required = True ' Les valeurs Null ne sont pas acceptées.
TBL.Fields.Append FLD

DB.TableDefs.Append TBL
'============================================================
' Crée un index primaire pour ces deux champs.
Set IDX = TBL.CreateIndex("IDX")
IDX.Primary = True
IDX.Unique = True
'-----------------------------------------------
Set FLD = TBL.CreateField("Numéros")
' N'indexe que ce champs pour ne pas avoir le même N°
IDX.Fields.Append FLD

'Set FLD = TBL.CreateField("Noms")
' N'indexe que ce champs pour ne pas avoir le même Nom
'IDX.Fields.Append FLD

TBL.Indexes.Append IDX
'============================================================
ListIndex = True
End Function

Private Sub Form_Load()
If Err.Number = 53 Then GoTo suite ' Si le fichier Existe
  Test = Dir(App.Path & "AGENDA.MDB")
       
       If Test <> "" Then
         Kill (App.Path & "AGENDA.MDB")
         GoTo suite
        End If

suite:
ListIndex
End Sub

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.