Access : saisie semi-automatique d'un champ
Résolu
Informadream
Messages postés
475
Date d'inscription
Statut
Membre
Dernière intervention
-
Maxime -
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...
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
-
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. -
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
-
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! -
Bonjour,
Je ne pense pas, ou alors je ne connais pas..
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
OK, merci pour ton aide en tout cas !
Quelqu'un connaitrait-il un autre moyen ? -
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.