IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Access Discussion :

Taille de champ trop petit


Sujet :

VBA Access

  1. #1
    Membre régulier
    Inscrit en
    Février 2007
    Messages
    239
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 239
    Points : 70
    Points
    70
    Par défaut Taille de champ trop petit
    Bonjour,

    jai des champ texte dans mes tables que jai limité a 100 caractère
    hors dans la saisie des formulaire, je peux en saisir plus et lors de mon enregistrement cela me créer des erreur ..(normal )

    Comment faire pour informer l'utilisateur a la saisir qu'il a dépasser la taille autoriser.

    Ou bien comment faire sur ma zone de texte de bloquer la saisi a 100 caractère ?

    existe t il une propriété ou bien alors il faut faire du vba ?


    Merci pour votre aide..

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 644
    Points : 34 352
    Points
    34 352
    Par défaut
    bonjour,
    un petit coup d'oeil dans la te donne un bon exemple de ce qui peut se faire :
    http://access.developpez.com/faq/?pa...LimitTailleChp

  3. #3
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    Bonjour

    Tu peux coller ceci à l'évènement "Après mise à jour" de ton contrôle.
    N'oublie pas d'adapter "n" et sans doute le message !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Texte0_AfterUpdate()
    Dim n As Integer
    n = 3   '--------> adapte à ton cas
    If Len(Me.ActiveControl) > n Then
    MsgBox "Espèce d'abruti, je te rappelle que " & Chr(13) & Chr(10) & n & " caractères maximum", vbCritical
    End If
    End Sub

  4. #4
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 644
    Points : 34 352
    Points
    34 352
    Par défaut
    Ton IHM est autrement plus agressive que la mienne

  5. #5
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    Bonjour jpcheck,
    Houps.
    Je n'avais pas vu que tu étais aussi sur l'affaire! Il se passe un certain temps entre le début de ma réponse et son envoi.
    Si j'ose être agressif, c'est que je ne crains pas le retour de flamme : je communique sous un pseudonyme !

  6. #6
    Membre habitué

    Profil pro
    Inscrit en
    Juin 2007
    Messages
    155
    Détails du profil
    Informations personnelles :
    Âge : 74
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 155
    Points : 196
    Points
    196
    Par défaut
    Bonjour,

    Citation Envoyé par ClaudeLELOUP Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Texte0_AfterUpdate()
    Dim n As Integer
    n = 3   '--------> adapte à ton cas
    If Len(Me.ActiveControl) > n Then
    MsgBox "Espèce d'abruti, je te rappelle que " & Chr(13) & Chr(10) & n & " caractères maximum" & Chr(13) & Chr(10), vbCritical
    End If
    End Sub
    Juste un petit conseil : mets, de préférence, cette vérification dans Avant mise à jour :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Private Sub Texte0_BeforeUpdate(Cancel as Integer)
      Dim n As Integer
      n = 3   '--------> adapte à ton cas
      If Len(Me.ActiveControl) > n Then
         MsgBox "Espèce d'abruti, je te rappelle que " & Chr(13) & Chr(10) & n & "   caractères maximum"  & "Appuie sur ESC",vbCritical
         Cancel = True
      End If
    End Sub
    Ainsi, la saisie est refusée tant que la condition n'est pas remplie.

  7. #7
    Membre régulier
    Inscrit en
    Février 2007
    Messages
    239
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 239
    Points : 70
    Points
    70
    Par défaut
    Merci pour toute vos reponse car en effet le code marche bien

    mais jai neamoins besoin davoir une précision ..

    est il possible dinformer lutilisateur pendant la saisi

    cad quil saisi et des quil arrive a 100 ben le message apparai

    il na ainsi aps besoin de sortir du champs pour vérifié lerreur

    sa serai une sorte de temps reel .. je ne sais aps si access le permet !

  8. #8
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 644
    Points : 34 352
    Points
    34 352
    Par défaut
    il me semble que mon code (avec KeyDown) fonctionne comme ceci

  9. #9
    Membre régulier
    Inscrit en
    Février 2007
    Messages
    239
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 239
    Points : 70
    Points
    70
    Par défaut
    je viens de refaire les teste
    et visiblement non

    je saisie les donnée dans un champ vide et meme si je depasse les 100 caractère rien ne se passe
    en revanche en sortant du champ et en revenant dessu lorsque jappui sur une touche le test seffectue et la sa marche

    donc je suis qd meme obliger de revenir sur le champ pour voir lerreur

    cela veu dire si lutilisateur ne revien pas sur son champ il ne verra pas lerreur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub IntituléProjet_KeyDown(KeyCode As Integer, Shift As Integer)
    If Len(Me.IntituléProjet.Value) > 99 Then
     KeyCode = 0
     MsgBox ("ok")
    End If
    End Sub

  10. #10
    Membre régulier
    Inscrit en
    Février 2007
    Messages
    239
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 239
    Points : 70
    Points
    70
    Par défaut
    des propositions ...

  11. #11
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 644
    Points : 34 352
    Points
    34 352
    Par défaut
    et ni le after_update ni le before_update ne fonctionnent ?

  12. #12
    Membre régulier
    Inscrit en
    Février 2007
    Messages
    239
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 239
    Points : 70
    Points
    70
    Par défaut
    je viens de refaire les test et voila ce qui se passe

    cela marche mais a condition que ma zone de texte soi liée a un champ de ma table
    mais si c'est un champ indépendant cela ne fonctionne pas
    et moi je ne veu pas lié ma zone de texte a un champ de ma table ...


  13. #13
    Membre régulier
    Inscrit en
    Février 2007
    Messages
    239
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 239
    Points : 70
    Points
    70
    Par défaut
    jai testé le code mais je ne trouve pas la propriété qui dis a la " saisie dans le champ "

    existe t elle cette propriété ?

  14. #14
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    Bjr,
    Essaie "sur touche appuyée"

  15. #15
    Rédacteur/Modérateur
    Avatar de Jeannot45
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2004
    Messages
    3 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 871
    Points : 8 489
    Points
    8 489
    Par défaut


    Voici une petit bout de code qui compte le nombre de fois qu'une touche a été activée

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub MonTexte_KeyPress(KeyAscii As Integer)
    Static intCompteur As Integer
    If intCompteur > 9 Then
    MsgBox "tu as saisi 10 caracteres"
    End If
    intCompteur = intCompteur + 1
    End Sub
    A+

  16. #16
    Membre régulier
    Inscrit en
    Février 2007
    Messages
    239
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 239
    Points : 70
    Points
    70
    Par défaut


    génial sa marche

    Merci beaucoup Jeannot 45

    et a tout ceux qui se sont penché sur mon probleme

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2007] Erreur 3163 "Champ trop petit"
    Par Nephyline dans le forum VBA Access
    Réponses: 2
    Dernier message: 21/03/2012, 12h33
  2. Réponses: 11
    Dernier message: 23/11/2011, 18h18
  3. [AC-2007] Erreur Champ trop petit
    Par Aladin_23 dans le forum VBA Access
    Réponses: 6
    Dernier message: 31/10/2010, 10h14
  4. Probleme taille fenetre option trop petite
    Par Beamish dans le forum Firefox
    Réponses: 4
    Dernier message: 05/06/2007, 09h34
  5. "Champ trop petit pour quantité de données"
    Par Miss Ti dans le forum Access
    Réponses: 9
    Dernier message: 25/07/2006, 20h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo