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 :

Comment vider toutes les Zones de texte ,après l'enregistrement [AC-2010]


Sujet :

IHM

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Décembre 2011
    Messages : 208
    Points : 75
    Points
    75
    Par défaut Comment vider toutes les Zones de texte ,après l'enregistrement
    Bonjour,


    Suite à ce code événementiel :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Private Sub btnSaveRecord_Click()
    Je souhaiterais vider toutes les Zones de texte ,après l'enregistrement.

    Actuellement j'ai 39 zones de textes dans un Formulaire.

    Est ce que je dois écrire les 39 zones de texte avec le code événementiel

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me![zone de Texte].Rowsource = ""
    Ou il y a une possibilité d'écrire une instruction pour tout vider en une fois ces Zones.
    De manière à poursuivre d'autres enregistrements.

    Cordialement

    jean Jacques


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    Private Sub btnSaveRecord_Click()
    On Error GoTo ErrorHandler
     
    Saved = True
    DoCmd.RunCommand (acCmdSaveRecord)
    Me.btnSaveRecord.Enabled = False
    Saved = False
     
    If Result = MsgBox("Voulez-vous enregistrer les modifications ?", vbExclamation + vbYesNo, "Enregister modificatioons ?") Then
        If Result = vbNo Then
           Me.Undo
        End If
        Me.btnSaveRecord.Enabled = False
     
    End If
    ExitHandler:
        Exit Sub
    ErrorHandler:
        MsgBox "Oups ! Une erreur a été rencontrée :" & vbCrLf & "Error " & Err.Number & ": " & Err.Description
        Resume ExitHandler
        Me.Requery
     
    End Sub

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 366
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 366
    Points : 23 834
    Points
    23 834
    Par défaut
    Bonjour.

    On peut faire du code pour vider une zone de texte mais on peut surtout s'économiser tout cela en utilisant un formulaire lié à une table ou une requête.
    En te plaçant sur un nouvel enregistrement, Access t'affiche automatiquement des zones vides.
    Et, si tu as besoin de confirmer les modifications avant l'enregistrement cela ne prend que quelques lignes de VBA.

    Pour répondre à ta question, un truc du genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    dim ctl as control
    for each ctl in me.control
      if ctl.controltype = acTextBox then
          'Ne traite que les zone de texte.
          select case ctl.name
             case me.ControleTexte01.name, me.ControleText02.name 'ici au besoin une liste de contrôle que tu ne souhaites pas effacer
                 'Ne rien faire
             case else
                 ctl=Null
          end select
      end if
    next ctl
    A+

  3. #3
    Membre régulier
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Décembre 2011
    Messages : 208
    Points : 75
    Points
    75
    Par défaut
    Bonjour Mario_r

    Merci de votre aide sur le sujet.
    Etant assez novice en access.
    je devine que je ne peux pas placer le dim ctl as control
    Dans le Private Sub btnSaveRecord_Click()


    Cordialement

    Jean Jacques

  4. #4
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 366
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 366
    Points : 23 834
    Points
    23 834
    Par défaut
    Bonjour.

    Tu peux mettre mon code au complet dans n'importe quelle procédure ou fonction si cela a du sens dans ton application.

    Et tu dois adapter les me.ControleTexte01 à ta réalité (ex : me.NomClient).

    A+

  5. #5
    Membre régulier
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Décembre 2011
    Messages : 208
    Points : 75
    Points
    75
    Par défaut
    Bonjour Marot_r

    Merci de votre aide.
    j'ai eu une solution qui fonctionne (Raz_Saisie)

    Cordialement

    Jean Jacques


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    Private Sub btnSaveRecord_Click()
    'sauver l'enregistrement courant et l'afficher dans le sous-formulaire
    On Error GoTo ErrorHandler
     
    'vérification code produit rempli
    If (Code_produit = "") Or IsNull(Code_produit) Then
        MsgBox "Veuillez saisir le code produit", vbCritical, "Attention sauvegarde impossible"
        Exit Sub
    End If
    If MsgBox("Voulez-vous enregistrer les modifications ?", vbExclamation + vbYesNo, "Enregister modifications ?") = vbNo Then
        Me.Undo
    Else
     
        'mise à jour du sous-formulaire - modif le 06/06/21
        Sauve
        Me.frmEnregEtiquetteSform.Requery
        Raz_Saisie
     
    End If
    ExitHandler:
        Exit Sub
    ErrorHandler:
        MsgBox "Oups ! Une erreur a été rencontrée :" & vbCrLf & "Error " & Err.Number & ": " & Err.Description
        Resume ExitHandler
        Me.Requery
     
    End Sub


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub Raz_Saisie()
    'mise à vide de tous le champs
        Code_produit = Null
        famille = Null
        Description = Null
        Ascq = Null
        [taille étiq] = Null
        Libellé = Null
    End Sub

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

Discussions similaires

  1. [AC-2003] Evènement sur clic sur toutes les zones de texte
    Par Kaera dans le forum IHM
    Réponses: 8
    Dernier message: 06/08/2012, 16h25
  2. [Débutant] obligé de saisir toutes les zones de texte
    Par spring.time dans le forum VB.NET
    Réponses: 8
    Dernier message: 02/08/2012, 01h51
  3. Réponses: 16
    Dernier message: 31/08/2009, 10h59
  4. Comment effacer toutes les zones textes ?
    Par sipilto dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 22/11/2008, 13h27
  5. Réponses: 2
    Dernier message: 07/02/2007, 09h16

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