Access : saisie semi-automatique d'un champ

Résolu
Informadream Messages postés 465 Date d'inscription   Statut Membre Dernière intervention   -  
 Maxime -
Bonjour,


Je suis novice sous Access, j'utilise la version 2007.

Je suis en train de créer une base de donnée pour mon entreprise, qui contient plusieurs tables dont celle qui nous intéresse : CLIENT
Elle contient plusieurs champs, dont les classiques Nom et Prénom par exemple.
Elle sera remplie par l'utilisateur, avec l'intermédiaire d'un formulaire.

Je souhaiterais que lorsque l'utilisateur tape par exemple la 1ère lettre du Nom, ou les 3 1ères, le Nom du client se mette automatiquement dans la case (si bien sur il existe déjà dans la table)

Comment faire ceci svp, j'ai eu beau fouiller sur le net, apparemment ça ne serait pas possible avec Access 2007 !?

Merci pour votre aide...

6 réponses

Jean_Jacques Messages postés 1040 Date d'inscription   Statut Membre Dernière intervention   112
 
Bonjour Informadream,

Si vous utilisez une liste déroulante, vous obtiendrez la fonction que vous recherchez en utilisant cette syntaxe événementielle, dite sur focus.

Private Sub <Champ>_GotFocus()

If IsNull(Me!<Champ>) Then
Me![<Champ>].Dropdown
End If

End Sub

Cette syntaxe filtre dynamiquement les caractères saisis dans le "champ" qui recueille l'enregistrement souhaité via la liste déroulante. Ce dispositif n'entraîne
pas de ralentissement.

J'ajoute enfin que cela fonctionne sous Access 2000 chez moi. Donc à tester
sous 2007.

Cordialement
La science ne fait que trouver ce qui existe depuis toujours.
REEVES Hubert.
7
Gaunts Messages postés 1125 Date d'inscription   Statut Membre Dernière intervention   116
 
Effectivement je n'avais pas pensé à la liste déroulante, ça fonctionne aussi sous 2007
0
Gaunts Messages postés 1125 Date d'inscription   Statut Membre Dernière intervention   116
 
Bonjour, c'est possible avec le VBA.
Il faut que chaque pression d'une touche sur le champ texte acvite une recherche dans ta table CLIENT: si un nom est trouvé et que c'est la seule solution, alors le champ se remplit.
Cependant cette méthode a un inconvénient: si ta table devient grande, lancer une recherche a chaque pression sur une touche peut devenir lent, et fera au final perdre du temps à l'utilisateur..

Cordialement
1
Informadream Messages postés 465 Date d'inscription   Statut Membre Dernière intervention   39
 
Bonjour,

Merci pour ta réponse!
N'y a t-il aucun autre moyen qu'en VBA ?
Car comme tu le soulignes, si la table grossit, ça va devenir lent... très lent!
0
Maxime
 
Pas si le champ en question est indexé...
0
Gaunts Messages postés 1125 Date d'inscription   Statut Membre Dernière intervention   116
 
Bonjour,

Je ne pense pas, ou alors je ne connais pas..
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Informadream Messages postés 465 Date d'inscription   Statut Membre Dernière intervention   39
 
OK, merci pour ton aide en tout cas !
Quelqu'un connaitrait-il un autre moyen ?
0
Informadream Messages postés 465 Date d'inscription   Statut Membre Dernière intervention   39
 
Veuillez m'excuser de répondre si tard, j'ai eu quelques soucis d'accès...
Je tiens à vous remercier pour votre aide, qui m'a été précieuse.

Cordialement,
Informadream.
0
Jean_Jacques Messages postés 1040 Date d'inscription   Statut Membre Dernière intervention   112
 
Bonne journée
Jean-Jacques
0