Indicate if there is a single-field index using DAO in VBA
Option Compare Database
Option Explicit
'Constants for examining how a field is indexed.
Private Const intcIndexNone As Integer = 0
Private Const intcIndexGeneral As Integer = 1
Private Const intcIndexUnique As Integer = 3
Private Const intcIndexPrimary As Integer = 7
Private Function IndexOnField(tdf As DAO.TableDef, fld As DAO.Field) _ As Integer 'Purpose: Indicate if there is a single-field index _ ' on this field in this table. 'Return: The constant indicating the strongest type. Dim ind As DAO.Index Dim intReturn As Integer intReturn = intcIndexNone For Each ind In tdf.Indexes If ind.Fields.Count = 1 Then If ind.Fields(0).Name = fld.Name Then If ind.Primary Then intReturn = (intReturn Or intcIndexPrimary) ElseIf ind.Unique Then intReturn = (intReturn Or intcIndexUnique) Else intReturn = (intReturn Or intcIndexGeneral) End If End If End If Next 'Clean up Set ind = Nothing IndexOnField = intReturn End Function
No comments:
Post a Comment