![]() |
| Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé. | |||||||
|
|||||||
| Contribuez Access : Vos contributions. Postez ici vos codes sources, conseils, astuces et autres propositions. Ce forum n'est pas un forum technique mais destiné aux contributions pour www.developpez.com |
![]() |
|
|
Outils de la discussion |
|
|
#1 (permalink) |
|
Invité de passage
![]() Date d'inscription: juillet 2007
Messages: 8
|
[FORMULAIRE] Le but est de se positionner dans une liste au fur et à mesure de la saisie dans une zone de texte. Exemple je tape A la liste trie tous les noms qui commencent par A, je tape ensuite R, elle trie tous les noms commençant par AR etc..
Sur un formulaire on place une zone de texte (texte0 ici) et une zone de liste (ChoixUsager) bêtement renseigné avec l'assistant (quelle table ou requete, quels champs...) Le code est à placer sur l'événement sur changement de la zone texte0. Il permet de reconstruire après chaque entrée le SQL pour la zone de liste et positionne le curseur à la fin dans texte0. Code :
Private Sub Texte0_Change() 'a positionner donc sur l'événement "sur changement" de la zone de texte Dim SQl As String Me.Requery Me.ChoixUsager.RowSource = SQl If IsNull(Len(Texte0)) Then 'Contruction du SQL pour la liste SQl = "select TblPassants.NumUsager, TblPassants.NomUsager, TblPassants.PrenomUsager, TblPassants.CodeRegime, TblPassants.Classe FROM TblPassants ORDER BY TblPassants.NomUsager" Else Me.Requery 'Le sql construit par les lettre entrées SQl = "select TblPassants.NumUsager, TblPassants.NomUsager, TblPassants.PrenomUsager, TblPassants.CodeRegime, TblPassants.Classe FROM TblPassants" SQl = SQl & " where tblpassants.NomUsager Like '" & Me.Texte0 & "*' " SQL= SQl & "ORDER BY TblPassants.NomUsager ;" Me.ChoixUsager.RowSource = SQl Me.ChoixUsager.Requery Texte0.SelStart = Len(Texte0) 'positionne le curseur à la suite de la dernière lettre entrée. La fonction Len renvoie le nb de caractère End If End Sub Voilà, si ça peut servir. Dernière modification par jiala ; 16/08/2007 à 10h06 |
|
|
|
|
|
#2 (permalink) |
![]() ![]() Date d'inscription: juin 2002
Localisation: derrière le moniteur
Messages: 3 741
|
Hello,
bon code merci : ) Mais sinon pourquoi tu mets 2 fois Me.Requery et cette ligne et début de procédure ? Code :
Me.ChoixUsager.RowSource = SQl
__________________
Ne mettez pas "Problème" dans vos titres, par définition derrière toute question se cache un problème ![]() Développez une application de gestion des comptes bancaires dans Access de A à Z ![]() |
|
|
|
|
|
#3 (permalink) |
|
Invité de passage
![]() Date d'inscription: juillet 2007
Messages: 8
|
Le premier Me.requery, sans ça ne marche pas (réponse on ne peut plus explicite). La deuxième ligne, effectivement ne sert à rien.
Par contre petit soucis, sur les mots avec un espace, il est supprimé dès qu'on actualise. Je cherche... Dernière modification par jiala ; 02/08/2007 à 20h55 |
|
|
|
![]() |
![]() |
||
se positionner dans une liste suivant saisie
|
||
| Outils de la discussion | |
|
|