Met ton projet MDB en PJ (ZIP) ; je vais regarder pour t'aider.
P.S. fais en sorte qu'il n'y ait que ce qui concerne le tuto ; pas de données confidentielles.
Argy
Met ton projet MDB en PJ (ZIP) ; je vais regarder pour t'aider.
P.S. fais en sorte qu'il n'y ait que ce qui concerne le tuto ; pas de données confidentielles.
Argy
Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.
Ils comptent sur vous...
Web Site ‡ @Mail
Tutoriels : Déployez vos applications Access 2010 à 2019 */* Réalisez un Assistant de présaisie...
MDB Viewer : Visionneuse Access v4.0
*** Je recherche des profils (2 ans min.) Java EE, Fullstack, Front, .Net, Mobile... pour CDI ***
Je vous remercie mais comme il restait encore trop d'erreurs à la mise en pratique du tuto, j'ai opté pour une autre solution et ai décidé d'étudier directement le code sans chercher à voir ce que cela donnait.
J'ai appris beaucoup de choses.
Merci encore.
Bonjour,
Superbe ce code !
Je l'ai transposé sans trop de difficultés à d'autres listes que des codes postaux/villes, et sans ajout de données dans la table.
Une petite remarque à propos de :
quand un utilisateur ajoute un caractère, ce n'est pas forcément à la fin. Cela peut être au début ou au milieu et l'incrémentation de la variable m_strCurrentChars ne prend pas en compte cela.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 'Sinon la variable s'incrémente et prend le caractère tapé m_strCurrentChars = m_strCurrentChars & Chr(KeyAscii)
idem pour :
le caractère retiré est toujours le dernier.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 'Si on appuie sur Backspace alors on retire un caractère On Error Resume Next m_strCurrentChars = Left(m_strCurrentChars, Len(m_strCurrentChars) - 1)
Il faudrait, soit interdire ces cas de figure, soit les gérer. Y-a-t-il une raison particulière pour ne pas prendre la valeur complète de la chaîne contenue dans txtLookup ? je n'arrive d'ailleurs pas (et c'est peut-être la raison?) à récupérer cette valeur par :J'obtiens une valeur Null
Code : Sélectionner tout - Visualiser dans une fenêtre à part Me.txtLookup.Value
Ce message vous a été utile ? Si oui, cliquez sur
Mes tutoriels Access
La rubrique Microsoft Access
Cours et tutoriels pour apprendre Access
La FAQ Access
Le Forum Access
Offres d'emploi développeur Access
Bonjour,
N'oubliez pas, le premier qui arrive à avoir un code qui tourne, fait passer aux autres qui galèrent depuis un moment !!!
Merci à TOFALU de prendre un peu notre défense
Bonjour,
Humm, je ne comprends plus trop le file de la discussion...
Est-ce à dire qu'aucn d'entre vous avez réussi à mettre en place ce tutorile dans votre appli ?
N'ayant pas eu de retour de macakou99 et bebeul, je me suis dit que ça tournait.
Où en êtes vous ?
Daejung, non, m_strCurrentChars ne prends pas en compte l'ajout dans la chaîne puisque l'on est censé écrire au fur et à mesure.
La zone se comporte un peu comme un LB_FIND_STRING de l'API SendMessage(). Enfin c'est le but.
Un adaptation est sans doute nécessaire sur ce point mais en tout état de cause sir des caractères sont tapés, seul la bonne occurrence matchera et retournera des enregistrements corespondants.
Quant à Me.txtLookup.Value, c'est lui qui régit le contenu de la clause WHERE finale.
Si tu veux mettre des règles da saisie, il faut prévoir celles-ci avant que se lève l'événement KeyPress().
L'objectuf du tuto est démonstratif ; pour les cas spécifiques, il faut adapter.
Argy
Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.
Ils comptent sur vous...
Web Site ‡ @Mail
Tutoriels : Déployez vos applications Access 2010 à 2019 */* Réalisez un Assistant de présaisie...
MDB Viewer : Visionneuse Access v4.0
*** Je recherche des profils (2 ans min.) Java EE, Fullstack, Front, .Net, Mobile... pour CDI ***
Honnêtement, je ne vois pas où vous bloquez au point que cela ne fonctionne pas du tout. Je viens de reprendre pas à pas et pour peu de nommer les contrôles comme indiqué, il n'y a pas de raison que cela ne fonctionne pas. En tout cas, chez moi, cela fonctionne sans le moindre problème.
Juste dans
Les lignes :
peuvent être retirées si vous n'avez pas créé d'étiquettes recevant la valeur saisie.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Me.labelTownSelected1.Caption = strCurrentSelection Me.labelTownSelected2.Caption = labelTownSelected1.Caption
Par contre Argy, lorsque je recherche des noms comme CHARNAY LES MACON, cela match sur CHARNAY, CHARNAY<espace>, mais plus sur CHARNAY L
Ce message vous a été utile ? Si oui, cliquez sur
Mes tutoriels Access
La rubrique Microsoft Access
Cours et tutoriels pour apprendre Access
La FAQ Access
Le Forum Access
Offres d'emploi développeur Access
Ah... ben tu vois qu'il y a des erreurs...
Quelle idée d'habiter un patelin pareil
Bon, je reviens en mode EDIT, il doit y avoir une explication...
Merci Tof
[EDIT]
Donc oui Tof, il y avait bien une tite boulette...
Il faut supprimer la ligne:
et aussi pour le fun car l'astérique n'est jamais visible et selon la position du curseur, on ajoute ce bloc en fin de procédure
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 m_strCurrentChars = Trim$(Replace(m_strCurrentChars, vbNullChar, vbNullString))
Le tutoriel a été mis à jour en conséquence.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 'Si la zone ne contient que * on efface la variable (cas de KeyAscii = 8) If Len(m_strCurrentChars) Then If (Asc(Left$(m_strCurrentChars, 1)) = 42) And (Len(m_strCurrentChars) = 1) Then m_strCurrentChars = vbNullString End If End If
Voici en image ce que ça donne en live.
[/EDIT]
Argy
Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.
Ils comptent sur vous...
Web Site ‡ @Mail
Tutoriels : Déployez vos applications Access 2010 à 2019 */* Réalisez un Assistant de présaisie...
MDB Viewer : Visionneuse Access v4.0
*** Je recherche des profils (2 ans min.) Java EE, Fullstack, Front, .Net, Mobile... pour CDI ***
Salut à tous,
pour reprendre cette discussion de mon coté tout fonctionne nickel.
Je voulais juste faire une adaptation mais je tourne en rond.
En effet, impossible d'intercepter la touche "DEL" avec KeyAscii... Le cas de figure est si l'utilisateur sélectionne la totalité des caractères mis dans la zone de texte et par la suite il les efface avec "Del" alors la variable m_strCurrentChars ne change pas et dispose toujours des caractères tapés auparavant.
Il y à t'il un moyen de "corriger" ceci ?
D'avance merci
Fred
Loi des Évolutions synchronisées : Les logiciels deviennent de plus en plus lent, et ceci plus vite que le hardware ne devient plus rapide.
Bonjour,
Le problème est que la touche DEL est couplée au point (.) en ASCII et donc, même si on peut l'intercepter via le KeyAscii comme le KeyUp, on récupère le code 46.
Du fait que l'on est jamais censé insérer un point dans le nom d'une commune, tu peux sans doute jouer là-dessus...
Argy
Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.
Ils comptent sur vous...
Web Site ‡ @Mail
Tutoriels : Déployez vos applications Access 2010 à 2019 */* Réalisez un Assistant de présaisie...
MDB Viewer : Visionneuse Access v4.0
*** Je recherche des profils (2 ans min.) Java EE, Fullstack, Front, .Net, Mobile... pour CDI ***
Bonjour et merci de ta réponse.
Je vais effectivement voir comment jongler la dessus. Je ferais un retour ici même, cela pourra peut être en aider d'autres.
Merci,
Fred
Edit :
En fait j'ai rajouté ces lignes sur le KeyDown :
A première vu ca marche.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 Private Sub Postal_KeyDown(KeyCode As Integer, Shift As Integer) Select Case KeyCode Case 8, 20, 48 To 57, 96 To 105 'Autorise Back, Capslock, numériques Exit Sub Case Else KeyCode = 0 End Select End Sub
-> Touche Del inactive, Sélection de l'ensemble des caractères interdit (obligation d'utiliser BackSpace).... et autorisations uniquement sur les numériques
Loi des Évolutions synchronisées : Les logiciels deviennent de plus en plus lent, et ceci plus vite que le hardware ne devient plus rapide.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager