Forum des développeurs  

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é.
Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Microsoft Office > Access > Contribuez

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

Réponse
 
Outils de la discussion
Vieux 02/08/2007, 16h03   #1 (permalink)
Invité de passage
 
Date d'inscription: juillet 2007
Messages: 8
Par défaut se positionner dans une liste suivant saisie

[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
Il y manque une petite gestion d'erreur, mais (c'est pas bien je sais) j'en fait rarement.
Voilà, si ça peut servir.

Dernière modification par jiala ; 16/08/2007 à 10h06
jiala est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 02/08/2007, 17h06   #2 (permalink)
Rédacteur/Modérateur

 
Avatar de cafeine
 
Date d'inscription: juin 2002
Localisation: derrière le moniteur
Messages: 3 741
Par défaut

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
Déjà 12 tutoriels, le dernier en date : Comment faire un TextBox auto-extensible dans un formulaire ?


cafeine est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 02/08/2007, 20h41   #3 (permalink)
Invité de passage
 
Date d'inscription: juillet 2007
Messages: 8
Par défaut

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
jiala est déconnecté   Envoyer un message privé Réponse avec citation
Réponse

Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Microsoft Office > Access > Contribuez

 
Offres d' emploi informatique sur Lesjeudis.com


Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non
Navigation rapide


Fuseau horaire GMT +1. Il est actuellement 19h38.


Publiez vos articles, tutoriels et cours et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones. Nous contacter
Copyright 2000-2008 www.developpez.com - Legal informations