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 :

Quel est le probleme de ce code VBA?


Sujet :

VBA Access

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2009
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 19
    Points : 19
    Points
    19
    Par défaut Quel est le probleme de ce code VBA?
    Bonjour,
    j'ai fait un code avec check box, mais quand je clique sur le bouton commande, un message me dit que "la valeur entrée est vide". Voici le 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
    17
    18
    19
    20
    21
    22
    23
    24
    Private Sub Command114_Click()
    On Error GoTo Err_Command114_Click
    DoCmd.SetWarnings False
     
    If Check123.Value = True And Combo119.Value <> "All Div" Then
     
    DoCmd.OpenQuery "DD " & Combo119.Value & " Material Details In Global", acNormal, acEdit
     
    ElseIf Check125.Value = True And Combo119.Value <> "All Div" Then
    DoCmd.OpenQuery "DD" & " " & Combo119.Value & " " & "Material Details Per Supplier", acNormal, acEdit
     
    Else
     
    End If
     
     
    Exit_Command114_Click:
        Exit Sub
     
    Err_Command114_Click:
        MsgBox Err.Description
        Resume Exit_Command114_Click
     
    End Sub
    -------------

    Qui peut me dire svp pourquoi le bouton ne lance aucune query.
    Merci

  2. #2
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 76
    Points : 88
    Points
    88
    Par défaut
    Est ce que tu as fait fonctionné ton code en mode "pas à pas" ? Si oui, est ce que tu as isolé la ligne qui ne marche pas ?

    Sinon j'ai du mal comprendre comment fonctionne certains passage...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.OpenQuery "DD " & Combo119.Value & " Material Details In Global", acNormal, acEdit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.OpenQuery "DD" & " " & Combo119.Value & " " & "Material Details Per Supplier", acNormal, acEdit
    A quoi corresponds DD ?

  3. #3
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 123
    Points : 12 172
    Points
    12 172
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    Tyria, en toute apparence, il s'agit du nom de ses requêtes !!!

    SunRay, il serait bon pour toi de respecter les conventions typographiques du code...

    Si tu as une erreur, c'est que le nom est incorrect !

    Argy

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2009
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 19
    Points : 19
    Points
    19
    Par défaut les DD sont juste une partie du nom de la requete à lancer
    Citation Envoyé par Tyria Voir le message
    Est ce que tu as fait fonctionné ton code en mode "pas à pas" ? Si oui, est ce que tu as isolé la ligne qui ne marche pas ?

    Sinon j'ai du mal comprendre comment fonctionne certains passage...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.OpenQuery "DD " & Combo119.Value & " Material Details In Global", acNormal, acEdit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.OpenQuery "DD" & " " & Combo119.Value & " " & "Material Details Per Supplier", acNormal, acEdit
    A quoi corresponds DD ?
    Oui je comprends que tu aies posé cette question.
    mes requetes sont nommées:
    DD PB01 Material Details In Global
    DD PA01 Material Details In Global
    ...
    donc tout est fixe sauf la partie après DD. les valeurs de Combo119 correspondent aux differents choix possibles.

    Penses-tu que "checkbox.value = true" veut dire que si ma check box est cochée?
    Merci

  5. #5
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2009
    Messages
    944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vosges (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 944
    Points : 1 282
    Points
    1 282
    Par défaut
    Bonjour à tous
    un message me dit que "la valeur entrée est vide"
    On pourrait avoir le message exact d'access ?


    Penses-tu que "checkbox.value = true" veut dire que si ma check box est cochée?
    ben, oui c'est le principe

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2009
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 19
    Points : 19
    Points
    19
    Par défaut le message exacte es en anglais
    Citation Envoyé par fgiambelluco Voir le message
    Bonjour à tous
    On pourrait avoir le message exact d'access ?


    ben, oui c'est le principe
    on me dit: "You entered an expression that has no value", avec mon niveau cela se traduit par: vous avez entré une expression qui n'a pas de valeur.

  7. #7
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2009
    Messages
    944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vosges (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 944
    Points : 1 282
    Points
    1 282
    Par défaut
    Re
    Ok
    Est ce que tu pourrais mettre ton On Error en commentaire (')
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    'On Error GoTo Err_Command114_Click
    et nous donner la ligne exacte qui plante?

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2009
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 19
    Points : 19
    Points
    19
    Par défaut Ce qui plante c'est la condition If
    Citation Envoyé par fgiambelluco Voir le message
    Re
    Ok
    Est ce que tu pourrais mettre ton On Error en commentaire (')
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    'On Error GoTo Err_Command114_Click
    et nous donner la ligne exacte qui plante?
    La ligne est:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Check123.Value = True Then
    Elle apparait en jaune après debugging et quand j'y bouge le curseur, ce message apparait: checkbox123.value=<you entered an expression that has no value.>

  9. #9
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2009
    Messages
    944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vosges (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 944
    Points : 1 282
    Points
    1 282
    Par défaut
    Re
    Etant donné le message, on dirait que Check123 est une étiquette.

    Vérifie la propriété Nom de ta case à cocher (fait un double clic sur la case, pas sur le libellé qui suit)

  10. #10
    Membre expérimenté
    Homme Profil pro
    Développeur VBA Access
    Inscrit en
    Avril 2006
    Messages
    1 109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur VBA Access

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 109
    Points : 1 535
    Points
    1 535
    Par défaut
    Bonjour,

    les checkBox et les radioButton ont trois états Null, False et True. Ils sont Null tant qu'ils n'ont pas été cliqués ou initialisés.
    Le plus simple serait de conditionner la possibilité de cliquer sur le bouton de commande quand les conditions requises pour ouvrir une requête sont remplies.

    Ici, le bouton de commande Command114 n'est disponible que lorsq'une des checkBox est à True et que la comboBox est différente de "All Div".
    Exemple:
    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
     
     Dim RqtName as String, RqtOption as String
     
    Private Sub Form_Load()
     Check123.Value=False
     Check125.Value=False
     Combo119.Value="All Div"
     Command114.Enabled=False
     RqtName=""
     RqtOption=""
    End sub
     
    Private Sub Check123_Click()
     If Check123.Value Then
        Check123.Locked=True
        Check125.Locked=False
        Check125.Value=False
        RqtOption="In Global"
     End if
     Command114.Enabled=((Check123.Value Or Check125.Value) and Combo119.Value<>"All Div")
    End if
     
    Private Sub Check125_Click()
     If Check125.Value Then
        Check125.Locked=True
       Check123.Locked=False
       Check123.Value=False
       RqtOption="Per Supplier"
     End if
     Command114.Enabled=((Check123.Value Or Check125.Value) And Combo119.Value<>"All Div")
    End Sub
     
    Private Sub Combo119_AfterUpdate()
     If Combo119.Value<>"All Div" Then RqtName="DD " & Combo119.Value & " Material Details " 
     command114.Enabled=((Check123.Value Or Check125.Value) And Combo119.Value<>"All Div")
    End Sub
     
    Private Sub Command114_Click()
     Docmd.Openquery "[" & RqtName & RqtOption & "]",acViewNormal,acEdit
    End sub

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2009
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 19
    Points : 19
    Points
    19
    Par défaut Merci MAIS......
    Je sais que c'est un travail génial ton code. Pourtant j'ai bien verifié le nom de mes deux check box, et ils sont corrects (et pas en étiquette).
    Mais on me dit tjrs que Check123.value et check125.value n'ont pas de valeur.
    Pourtant j'ai tapé ton code à la lettre près!

    Par d'autres recherches, j'ai vu ce bou de code:
    "checkBox.checked=True"
    Est-ce correct?
    Parce qu'à la place je mettrais "checkbox.value=true"

    désolé de vous fatiguer comme ça.

  12. #12
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2009
    Messages
    944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vosges (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 944
    Points : 1 282
    Points
    1 282
    Par défaut
    Re
    Là je vois plus trop.
    Dans ton code essaye de taper Me.c, il doit te proposer check123, appuie sur le point .v, il doit te proposer value
    Si c'est pas le cas (les propositions faites ne sont bas bonnes), c'est que le problème vient des cases à cocher qui ne sont pas considérer comme telles.

  13. #13
    Membre expérimenté
    Homme Profil pro
    Développeur VBA Access
    Inscrit en
    Avril 2006
    Messages
    1 109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur VBA Access

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 109
    Points : 1 535
    Points
    1 535
    Par défaut
    De quel type sont ces contrôles ? Ce sont bien des CheckBox Access placés sur un formulaire ?

    Essaie de faire un:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    msgbox TypeName(Me.Check123)
    Pour afficher le type du contrôle Check123

  14. #14
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2009
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 19
    Points : 19
    Points
    19
    Par défaut VBA les reconnait
    Citation Envoyé par fgiambelluco Voir le message
    Re
    Là je vois plus trop.
    Dans ton code essaye de taper Me.c, il doit te proposer check123, appuie sur le point .v, il doit te proposer value
    Si c'est pas le cas (les propositions faites ne sont bas bonnes), c'est que le problème vient des cases à cocher qui ne sont pas considérer comme telles.

    Quand je fais Me.c, on me propose la check123, pareil avec .v (-->Value).
    J'ai bcp appris les gars.
    Je crois que je vais creer deux commandes pour remplacer les check box.

    Bonne journée à tous.

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

Discussions similaires

  1. Quel est le pire bout de code que vous ayez jamais écrit ?
    Par Gordon Fowler dans le forum Débats sur le développement - Le Best Of
    Réponses: 61
    Dernier message: 31/10/2011, 12h18
  2. [DOM] quel est l'erreur dans mon code
    Par une_tite_question dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 10/08/2008, 11h20
  3. [VBA-E]Probleme dans mon code ??? merci de votre aide
    Par gregantibes dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 11/04/2006, 18h24
  4. probleme code vba ne s'execute pas apres instruction sql
    Par arnogef dans le forum Requêtes et SQL.
    Réponses: 9
    Dernier message: 29/12/2005, 12h34
  5. Quel est le problème dans ce code ?
    Par Luther13 dans le forum C
    Réponses: 12
    Dernier message: 26/08/2003, 16h09

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