Empêcher la frappe d'une touche dans tout le logiciel [Résolu]

Signaler
Messages postés
153
Date d'inscription
jeudi 25 avril 2002
Statut
Membre
Dernière intervention
3 juillet 2014
-
Messages postés
153
Date d'inscription
jeudi 25 avril 2002
Statut
Membre
Dernière intervention
3 juillet 2014
-
Bonjour

Je dévellope une base de données Access et un programme en VB6.

Je souhaiterais interdire la frappe de la touche (") celle au dessus du Z et E.

C'est pour les requêtes, ca m'éviterai de vérifier si dans les champs il y a un " ce qui fait planter la requête.

Mon programme comporte plusieur fenêtre.

Merci d'avance pour votre aide.

8 réponses

Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
42
salut,

pour répondre à ta question, il faut récupérer les touches par la Form, traiter, et laisser faire par les contrôles (textbox, etc...)

Option Explicit 
'
'
Private Sub Form_Load() 
    Me.KeyPreview =  True 
End Sub 
'
Private Sub Form_KeyPress(KeyAscii As Integer) 
    If KeyAscii = 34 Then KeyAscii = 0 
End Sub

<small> Coloration
syntaxique automatique [AFCK] </small>
       

néanmoins je rejoins JRivet : c'est pas si propre!
pourquoi? beh ton utilisateur peut toujours faire un copier/coller ...

solution : à toi de gérer/traiter ta requête string avant de l'executer.

++
PCPT   [AFCK]
<hr size ="2" width="100%" />Prenez un instant pour répondre à ce sondage svp
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
56
Salut,

Plutot que d'interdire l'appui sur la touche, pourquoi ne pas essayer de faire en sorte que ton appli ne plante pas a cause des ("), ce qui serait quand même un peu plus propre.

@+, Julien
Pensez: Moteur de Recherche, Réponse Acceptée, Règlement/FONT>
Messages postés
153
Date d'inscription
jeudi 25 avril 2002
Statut
Membre
Dernière intervention
3 juillet 2014

Oui c'est ce que je cherchais a faire, et pour cela j'ai trouvé comme solution de faire un replace des " dans les textebox, combo, ... par un "

Ca fonctionne mais j'ai plus de 300 champs alors c'est lourd a gérer.

A moins que tu n'es une idée.
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
56
Salut,

Si c'est juste lors des requêtes, peu être devrais tu centraliser les appels.

Il vaut quand même mieux avoir un programme controlé même si cela prend du temps, plutôt que de choisir la facilité en évitant les erreurs par des blocages de touches. (Surtout que la touche (") n est pas le seul moyen pour taper ")

Alt + 34 dans ton champs texte et ton blocage est inutile.

@+, Julien
Pensez: Moteur de Recherche, Réponse Acceptée, Règlement/FONT>
Messages postés
153
Date d'inscription
jeudi 25 avril 2002
Statut
Membre
Dernière intervention
3 juillet 2014

Oui je comprend.

Cependant on ma laissé 1 mois pour le faire donc je fais au plus rapide.

Merci pour les conseils
Messages postés
153
Date d'inscription
jeudi 25 avril 2002
Statut
Membre
Dernière intervention
3 juillet 2014

Merci, je vais mettre cela en attendant et puis s'ils m'accordent plus de temps je corriger ces défauts.
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
42
pense à valider ...
Messages postés
153
Date d'inscription
jeudi 25 avril 2002
Statut
Membre
Dernière intervention
3 juillet 2014

Et voila ...