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 :

Controle des champs rempli d'un formulaire


Sujet :

VBA Access

  1. #1
    Membre à l'essai
    Inscrit en
    Mai 2008
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 31
    Points : 14
    Points
    14
    Par défaut Controle des champs rempli d'un formulaire
    bonjour,
    j'ai le bouton d'un formulaire qui execute une requete action en vba,
    mais je voudrai que cette requete action s'execute que si les données dans le formulaire sont remplies....
    et la je n'arrive pas a trouver la fonction qui permet ça....

    étant donné que je suis novice en vba access je dois employer les mauvais mots quant je fais mes recherches....

    donc je veus bien un petit coup de mains... merci

  2. #2
    Membre émérite
    Avatar de supersnail
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 719
    Points : 2 793
    Points
    2 793
    Par défaut
    Tu vérifies que tes champs ne sont pas null

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    If mon_champ1="" And mon_champ2="" And mon_champ_n=""
         'ne pas traiter
    Else
         'traitement à effectuer
    End If
    Toute question technique envoyée en MP ira directement à la poubelle

    Un code ne marchera jamais, il n'a jamais reçu la capacité de se déplacer.
    Inutile donc de dire "ça marche pas", donnez plutôt des informations précises afin de mieux pouvoir vous aider.


    Grand gourou de la -attitude

  3. #3
    Membre à l'essai
    Inscrit en
    Mai 2008
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 31
    Points : 14
    Points
    14
    Par défaut
    Merci de ta réponse,
    j'ai donc essayer.... mais ça ne marche pas... et quand le tape le code j'ai une boite de dialogue qui me dis
    erreur de compilation
    attendu: then ou go to
    voila ce que j'ai fais...
    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 DAOajoutMAJ_prod_livraison_click()
     
    If ref_fournisseur="0"  And ref_prod_nomm="0"  And Date_livraison="0"
         'ne pas traiter
    Else
         'traitement à effectuer
        DoCmd.Close
     
        Dim db As DAO.Database
        Set db = DBEngine.OpenDatabase(".\gros_proget2.mdb")
        ' Exécution de la requête
        db.Execute "UPDATE (tab_livraison INNER JOIN req_dernier_livraison ON tab_livraison.ref_livraison=req_dernier_livraison.ref_livraison) INNER JOIN tab_prod_nomm ON tab_livraison.ref_prod_nomm=tab_prod_nomm.ref_prod_nomm SET tab_prod_nomm.stock = tab_prod_nomm.stock+tab_livraison.stock;"
        Debug.Print "Records Affected = " & db.RecordsAffected
        db.Close
     
        DoCmd.OpenForm "formu_livraison"
    End If
     
    End Sub
    je dois peut etre mal placé le code???

  4. #4
    Membre émérite
    Avatar de supersnail
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 719
    Points : 2 793
    Points
    2 793
    Par défaut
    désolé,c'est de la mienne...
    voilà le bon code:
    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
     
    If ref_fournisseur="0"  And ref_prod_nomm="0"  And Date_livraison="0" Then
         'ne pas traiter
    Else
         'traitement à effectuer
        DoCmd.Close
     
        Dim db As DAO.Database
        Set db = DBEngine.OpenDatabase(".\gros_proget2.mdb")
        ' Exécution de la requête
        db.Execute "UPDATE (tab_livraison INNER JOIN req_dernier_livraison ON tab_livraison.ref_livraison=req_dernier_livraison.ref_livraison) INNER JOIN tab_prod_nomm ON tab_livraison.ref_prod_nomm=tab_prod_nomm.ref_prod_nomm SET tab_prod_nomm.stock = tab_prod_nomm.stock+tab_livraison.stock;"
        Debug.Print "Records Affected = " & db.RecordsAffected
        db.Close
     
        DoCmd.OpenForm "formu_livraison" 
    End If
    Toute question technique envoyée en MP ira directement à la poubelle

    Un code ne marchera jamais, il n'a jamais reçu la capacité de se déplacer.
    Inutile donc de dire "ça marche pas", donnez plutôt des informations précises afin de mieux pouvoir vous aider.


    Grand gourou de la -attitude

  5. #5
    Membre à l'essai
    Inscrit en
    Mai 2008
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 31
    Points : 14
    Points
    14
    Par défaut
    merci,

    j'ai donc modifié mais j'ai toujours un probleme perciste...
    en fait quand je met q'un seul champs ça marche, mais avec les AND le if ne marche pas....
    j'ai meme enlever les 0 et en laissant les guillemets juste vide "" mais la requete s'execute quand meme...

    que dois je faire???

  6. #6
    Membre émérite
    Avatar de supersnail
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 719
    Points : 2 793
    Points
    2 793
    Par défaut
    essaie d'enlever les guillemets..
    Toute question technique envoyée en MP ira directement à la poubelle

    Un code ne marchera jamais, il n'a jamais reçu la capacité de se déplacer.
    Inutile donc de dire "ça marche pas", donnez plutôt des informations précises afin de mieux pouvoir vous aider.


    Grand gourou de la -attitude

  7. #7
    Membre à l'essai
    Inscrit en
    Mai 2008
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 31
    Points : 14
    Points
    14
    Par défaut
    donc, j'ai enlever les guillemets et rajouter les 0 donc....
    autre soucis, ça marche mais pas pour toute les conditions......
    en fait lorsque l'une des conditions et rempli, mon code d'execute, meme si les autres champs sont nul...
    faut il rajouter une variable???

  8. #8
    Membre émérite
    Avatar de supersnail
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 719
    Points : 2 793
    Points
    2 793
    Par défaut
    Remplace And par Or
    Toute question technique envoyée en MP ira directement à la poubelle

    Un code ne marchera jamais, il n'a jamais reçu la capacité de se déplacer.
    Inutile donc de dire "ça marche pas", donnez plutôt des informations précises afin de mieux pouvoir vous aider.


    Grand gourou de la -attitude

  9. #9
    Membre à l'essai
    Inscrit en
    Mai 2008
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 31
    Points : 14
    Points
    14
    Par défaut
    merci
    j'ai donc essayer et ça marche pour la pluspart de mes champs,
    mais le soucis c'est avec le champs date....
    dans ma table c'est un champs en format date JJ/MM/AAAA, interdit si null avec une masque de saisie...

    donc les controles se font sur les champs et quand j'enleve le champs date du controle, mon code ne s'excute pas complétement.
    il me fait la requete, mais n'entre pas les données dans la table correspondante (docmd.close)

    faut il un critère different pour le champs date????

Discussions similaires

  1. [AC-2010] Controle des champs vides dans un formulaire
    Par prosper02 dans le forum VBA Access
    Réponses: 3
    Dernier message: 06/07/2013, 00h04
  2. Controle des champs de formulaire
    Par okoweb dans le forum jQuery
    Réponses: 2
    Dernier message: 14/12/2011, 08h04
  3. Controle des champs d'un formulaire
    Par indefini dans le forum Langage
    Réponses: 17
    Dernier message: 09/01/2009, 10h06
  4. controle des champs dans formulaire
    Par nima5 dans le forum IHM
    Réponses: 7
    Dernier message: 31/12/2007, 13h10
  5. Mettre à jour des champs dans un sous formulaire
    Par Patros dans le forum Access
    Réponses: 3
    Dernier message: 09/08/2006, 15h16

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