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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2008
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 31
    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 Expert
    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
    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

  3. #3
    Membre averti
    Inscrit en
    Mai 2008
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 31
    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 Expert
    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
    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

  5. #5
    Membre averti
    Inscrit en
    Mai 2008
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 31
    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 Expert
    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
    Par défaut
    essaie d'enlever les guillemets..

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