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 :

Validation des donnees d'un formulaire à partir d'un bouton


Sujet :

VBA Access

  1. #1
    Membre à l'essai
    Inscrit en
    Août 2010
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 29
    Points : 17
    Points
    17
    Par défaut Validation des donnees d'un formulaire à partir d'un bouton
    Bonjour,
    J'ai crée un formulaire lier à une table sur Access. J'ai modifié ce formulaire en ajoutant deux zones de texte à l’entête et un bouton de commande dans le corps du formulaire.
    J’ai deux soucis :
    1) Quand j’encode que les données ne puissent pas s’enregistrer automatique dans ma table, mais seulement quand je clique sur mon bouton pour confirmer l’enregistrement.
    2) Au moment de l’enregistrement, à chaque ligne enregistrer aussi les données de deux zones de texte à l’entête.

    Merci de m’aidé avec le code.

  2. #2
    Membre expert
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Octobre 2012
    Messages
    1 874
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2012
    Messages : 1 874
    Points : 3 461
    Points
    3 461
    Par défaut
    Bonjour jospinkapwa,
    J'ai crée un formulaire lier à une table sur Access.
    Un formulaire lié enregistre automatiquement les données dans la table, donc ça débute mal pour ton point 1.
    Au moment de l’enregistrement, à chaque ligne enregistrer
    Cela me laisse croire que le formulaire est en mode continu. Dès que tu changes de ligne l'enregistrement est effectué, donc
    mais seulement quand je clique sur mon bouton pour confirmer l’enregistrement
    Il est trop tard, l'enregistrement a déjà été effectué. Une solution simple est un formulaire indépendant qui a tous les champs de ta table. Après la saisie dans le formulaire un bouton pour enregistré qui lance une requête ajout basé sur ce que l'utilisateur a écrit dans les champs.

    Bonne journée

  3. #3
    Membre à l'essai
    Inscrit en
    Août 2010
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 29
    Points : 17
    Points
    17
    Par défaut
    J'ai aussi pensé à faire un formulaire indépendant mais mon souci majeur c'est : dès que je commence à encoder une ligne, une nouvelle ligne vierge soit générée comme dans un formulaire lier. et pour un formulaire indépendant je sais recupéré une ligne mais quand c'est plusieurs lignes je ne sais pas vraiment comment m'y prendre. je sollicite votre assistance.

    merci

  4. #4
    Membre expert
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Octobre 2012
    Messages
    1 874
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2012
    Messages : 1 874
    Points : 3 461
    Points
    3 461
    Par défaut
    Bonjour jospinkapwa,
    dès que je commence à encoder une ligne, une nouvelle ligne vierge soit générée comme dans un formulaire lier. et pour un formulaire indépendant je sais recupéré une ligne mais quand c'est plusieurs lignes je ne sais pas vraiment comment m'y prendre.
    Une formulaire en mode indépendant ne fera pas plus d'une ligne.

    Ce que je ferais si j'ai bien compris ta question: Supposons que ta table est la table T_Employes avec comme champs, une clé primaire (PK_EMPLOYE) et différents champs (Nom_Employe, Prenom_Employe, etc...) et un plus précisément qui est "Civilite". Tu crées une table temporaire qui contient les même champs que la table T_Employes, sauf la clé primaire et le champ "Civilite" tu la nommes disons T_Employes_Temp. Tu crées un formulaire lié à la table T_Employe_Temp avec tous les champs, tu mets le formulaire en mode continu. Dans l'entête du formulaire tu mets un champ texte que tu nommes "txtCivilite" et un bouton de commande qui se nomme "btnValider". Dans le code de ce bouton:
    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
    Private Sub btnValider_Click()
    On Error GoTo Err_btnValider_Click
     
        Dim strSQL As String
        'Ici tu insères tous les enregistrements qui sont dans ton formulaire
        strSQL = "INSERT INTO T_Employes ( Nom_Employe, Prenom_Employe, Civilite ) SELECT T_Employes_Temp.NomEmploye, Prenom_Employe, '" _
        & Me.txtCivilite & "' AS Civilite FROM T_Employes_Temp;"
        DoCmd.RunSQL (strSQL)
        'Ici tu vides la table temporaire
        strSQL = "DELETE T_Employes_Temp.* FROM T_Employes_Temp;"
        DoCmd.RunSQL (strSQL)
     
    Exit_btnValider_Click:
        Exit Sub
     
    Err_btnValider_Click:
        MsgBox Err.Description
        Resume Exit_btnValider_Click
     
    End Sub
    Lorsque tu saisies les données dans le formulaire elles ne sont pas enregistrées dans ta table mais dans la table temporaire. Lorsque tu cliques sur le bouton tu transferts les données de la table temporaire dans ta vrai table avec pour tous les enregistrements ainsi crées pour le champ "Civilites" la valeur du champ texte en entête. Après tu vides la table temporaire. Il faudrait aussi penser à vider la table lors de la fermeture du formulaire pour ne pas laisser d'enregistrements.

    Bonne journée

  5. #5
    Membre à l'essai
    Inscrit en
    Août 2010
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 29
    Points : 17
    Points
    17
    Par défaut
    Merci beaucoup pour votre intervention c'est exactement ce qu'il y'avait à faire.

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 15/12/2006, 14h04
  2. [EXCEL] Validation des données et enregistrement
    Par Rixou dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 23/11/2006, 14h45
  3. Réponses: 5
    Dernier message: 01/10/2006, 13h48
  4. Réponses: 38
    Dernier message: 01/09/2006, 17h22
  5. Réponses: 13
    Dernier message: 01/10/2004, 14h03

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