Les dialogues Find et Replace jusqu'alors séparés dans les
versions antérieures d'Access et invoqués à partir de la combinaison de
clés Control-F et Control-H respectivement (ou en appelant
RunCommand) sont maintenant réunis sous Access dans un formulaire à onglets.
Quelques développeurs ont exprimés leur réticence, par courrier
électronique ou dans des groupes de discussion, quant à présenter à leur
utilisateur autant de fonctionnalité, principalement de par le
Replace, alors que seule la recherche est souhaitée.
Access 2000 ne présente pas de possibilité intégrée pour manipuler la
présentation de ce formulaire, mais si vous marquez le formulaire ou la table
impliquée comme étant en lecture seule ( Read-Only ) avant d'ouvrir le
dialogue à partir du code, Access cache automatiquement l'onglet
Replace, car l'utilisateur ne peut pas faire de modification sur un
objet qui n'est accessible qu'en lecture.
Les procédures suivantes illustrent le processus de marquage d'un
formulaire ou d'une table en "lecture seule", puis, lancent le dialogue
Find/Replace.
Sub sFindReplaceInForm(strFormName As String)
On Error GoTo ErrHandler
Const ERR_GENERIC = vbObjectError + 6666
DoCmd.OpenForm strFormName, _
acNormal
With Forms(strFormName)
.AllowAdditions = False
.AllowDeletions = False
.AllowEdits = False
End With
DoCmd.SelectObject acForm, _
strFormName, _
False
DoCmd.RunCommand acCmdFind
ExitHere:
Exit Sub
ErrHandler:
Resume ExitHere
End Sub
Sub sFindReplaceInTable(strTableName As String)
On Error GoTo ErrHandler
Const ERR_GENERIC = vbObjectError + 6666
DoCmd.OpenTable strTableName, _
acViewNormal, _
acReadOnly
DoCmd.SelectObject acTable, _
strTableName, _
False
DoCmd.RunCommand acCmdFind
ExitHere:
Exit Sub
ErrHandler:
Resume ExitHere
End Sub