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

IHM Discussion :

Problème nombre de caractères saisis dans zoombox liée à zone de texte


Sujet :

IHM

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 28
    Points : 13
    Points
    13
    Par défaut Problème nombre de caractères saisis dans zoombox liée à zone de texte
    Bonjour à Vous,

    Voici le problème que je rencontre : j'ai crée une zone de texte assez petite dans mon formulaire car il n'y avait plus de place disponible ! Afin de faciliter la saisie j'appelle via l'événement sur clic la commande ZoomBox :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub CommentaireGeneral_Click()
    DoCmd.RunCommand acCmdZoomBox
    End Sub
    Le nombre de caractères de ma zone de texte est limité à 255 caractères or lors de l'affichage de la boîte Zoom, le texte tapé lui ne s'arrête pas à 255 caractères il ne s'arrête plus !

    Comment dois-je faire pour que ma zone de texte et la Boîte zoom (facilitant la saisie) soit synchro du point de vue nombre de caractères saisis ?

    D'avance merci de votre aide précieuse

  2. #2
    Membre expert
    Avatar de FreeAccess
    Homme Profil pro
    Un monde ou prendre est plus facile qu'apprendre.
    Inscrit en
    Mars 2006
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Un monde ou prendre est plus facile qu'apprendre.

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 745
    Points : 3 834
    Points
    3 834
    Par défaut
    Bonjour...
    ...faire pour que ma zone de texte et la Boîte zoom (facilitant la saisie) soit synchro du point de vue nombre de caractères saisis ?
    A la place de la boîte Zoom, utilise un mini-formulaire de saisie....

    Explications:
    Sur ton formulaire ta Zone de texte est limitée à 20 caractères.
    Dans sa propriété "Remarque" (Tag) tu entre 20.

    Ensuite, tu vas utiliser cette valeur pour la passer en paramètre à ton mini-formulaire de saisie, sous la forme...:.(par exemple sur double-clic de cette zone..)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub NomChampFormulaire_DblClick(Cancel As Integer)
    'Ici le mini-formulaire se nomme 'F_ZoomSaisie'
    DoCmd.OpenForm "F_ZoomSaisie", , , , , , Me.NomChampFormulaire.Tag
    End Sub
    Tu récupère cette valeur à l'activation du mini-formulaire en utilisant la variable 'OpenArgs' qui contiendra la valeur passée en paramètre......et tu t'en sers pour limiter ta saisie....
    Sur la fermeture du mini-formulaire, tu passe, à ce moment, la valeur saisie à ton formulaire principal...

    ...à voir....

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 28
    Points : 13
    Points
    13
    Par défaut
    Bonsoir FreeAccess,

    Merci de ta réponse mais je suis débutante en VBA et j'aurai besoin d'un coup de pouce de précision quant au passage suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Tu récupère cette valeur à l'activation du mini-formulaire en utilisant la variable 'OpenArgs' qui contiendra la valeur passée en paramètre......et tu t'en sers pour limiter ta saisie....
    Sur la fermeture du mini-formulaire, tu passe, à ce moment, la valeur saisie à ton formulaire principal...
    J'avais eu cette idée de formulaire au départ mais je ne savais pas comment lui donner vie. Merci de ton aide en tout cas !

    Ton Obligée

  4. #4
    Membre expert
    Avatar de FreeAccess
    Homme Profil pro
    Un monde ou prendre est plus facile qu'apprendre.
    Inscrit en
    Mars 2006
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Un monde ou prendre est plus facile qu'apprendre.

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 745
    Points : 3 834
    Points
    3 834
    Par défaut
    Re...

    Tu construis ton mini-formulaire, avec une zone de texte [txtZoneSaisie] et un bouton de contrôle [cmdFermer]...

    Ton formulaire doit avoir sa propriété 'Fenêtre modale' = oui

    Pour limiter la saisie en fonction de la valeur passée en paramètres...sur la propriété "Sur touche appuyée" tu tape..:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Private Sub txtZoneSaisie_KeyDown(KeyCode As Integer, Shift As Integer)
    'Ici j'autorise certaines touches spéciales.....
    Select Case KeyCode
        Case vbKeyBack, vbKeyTab, vbKeyLeft, vbKeyRight, vbKeyDelete
     
        Case Else
            'Ici je bloque la saisie sur la valeur correspondante à OpenArgs
            If Len(Me.txtZoneSaisie.Text) > OpenArgs - 1 Then
                KeyCode = 0
            End If
     
    End Select
    End Sub
    Maintenant, il te reste juste à créer le code pour repasser la valeur saisie à ton formulaire principal......allez au boulot.......

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 28
    Points : 13
    Points
    13
    Par défaut Encore un dernier souci...
    Un petit souci de taille subsiste encore...

    J'ai réussi, grâce à vous FreeAccess, tout fonctionne presque à merveille seulement voilà ce morceau de code qui marchait du tonnerre ne fonctionne plus maintenant :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub Form_BeforeUpdate(Cancel As Integer)
        If Me![PointsBonus].Value > 0 And Len(Me![CommentaireBonus]) = 0 Then
            Cancel = True
            MsgBox "En cas d'attribution d'un bonus, vous devez saisir un commentaire !", vbExclamation + vbOKOnly, "MESSAGE"
            Me.[CommentaireBonus].SetFocus
            DoCmd.OpenForm "ComBonus", , , , , , Me.CommentaireBonus.Tag
        End If
    End Sub
    En effet, même si le commentaire n'est pas renseigné alors que des points exceptionnels ont été attribués je peux désormais passer à l'enregistrement suivant alors qu'avant je l'avais volontairement bloqué à travers cette condition !

    Auriez-vous une idée de ce qui coince à votre avis ? Il s'agit de texte dans le champ peut-être alors ne dois-je pas utiliser 0 dans cette partie de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Len(Me![CommentaireBonus]) = 0
    Vraiment je ne sais plus...pourriez-vous m'aider ?

    Votre Obligée

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 28
    Points : 13
    Points
    13
    Par défaut
    réponse complète sur :


    http://www.developpez.net/forums/sho...d.php?t=565195


    Bonne journée

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

Discussions similaires

  1. [Débutant] Limiter le nombre de caractères saisi dans un datagriview
    Par gmano dans le forum C#
    Réponses: 1
    Dernier message: 30/08/2012, 23h51
  2. Réponses: 28
    Dernier message: 11/10/2006, 22h36
  3. Problème de nombre de caractères max dans Listbox
    Par jojoestpetit dans le forum Access
    Réponses: 1
    Dernier message: 09/04/2006, 11h39
  4. problème avec masque de saisie dans table
    Par porki dans le forum Access
    Réponses: 6
    Dernier message: 13/10/2004, 08h58

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