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 :

[VBA-A]Pb avec la commande if dans vba


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Août 2004
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 52
    Par défaut [VBA-A]Pb avec la commande if dans vba
    Dans une procédure vba, j'ai le code suivant :

    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 lbl_impressionapresmodif_Click()
     
      DoCmd.RunCommand acCmdRefresh
      If (Eval("[Forms]![Modif demande devis]![SF Modif demande devis 1]![Modifiable24] Is Not Null")) Then
        DoCmd.OpenReport "demande de devis aprés modif f1", acViewNormal
      End If
     
      If (Eval("[Forms]![Modif demande devis]![SF Modif demande devis 1]![Modifiable26] Is Not Null")) Then
        DoCmd.OpenReport "demande de devis aprés modif f2", acViewNormal
      End If
     
      If (Eval("[Forms]![Modif demande devis]![SF Modif demande devis 1]![Modifiable29] Is Not Null")) Then
        DoCmd.OpenReport "demande de devis aprés modif f3", acViewNormal
      End If
     
      If (Eval("[Forms]![Modif demande devis]![SF Modif demande devis 1]![Modifiable32] Is Not Null")) Then
        DoCmd.OpenReport "demande de devis aprés modif f4", acViewNormal
      End If
     
      If (Eval("[Forms]![Modif demande devis]![SF Modif demande devis 1]![Modifiable34] Is Not Null")) Then
        DoCmd.OpenReport "demande de devis aprés modif f5", acViewNormal
      End If
     
    End Sub

    En fait, vous avez compris. Cette procédure permet d'imprimer des états à condition qu'un champ d'un formulaire ne soit pas vide. Quand je lance cette procédure en ayant access complet sur le poste, ca fonctionne mais si je le lance avec le runtime ca ne marche plus !!?? Il imprime les 5 états sans tenir compte des "if".

    Pouvez-vous m'aider ??

    Merci d'avance ...

  2. #2
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Par défaut
    Juste pour voir ce que ça donne, juste après la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.RunCommand acCmdRefresh
    essaye de mettre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Msgbox Eval("[Forms]![Modif demande devis]![SF Modif demande devis 1]![Modifiable24] Is Not Null")
    Ca te donnera une idée de ce qui est renvoyé par ton Eval.

    Si je te propose ça, c'est que j'ai un doute quant à la pertinence d'Eval dans ce cas là.
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Août 2004
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 52
    Par défaut
    Ca me renvoi la valeur -1

    On peut utiliser quoi d'autres qu'(eval) alors ???

  4. #4
    Xan
    Xan est déconnecté
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 45
    Par défaut
    bah, -1, ca revient à True, en VB, je me trompe?

    Donc, normalement, ton code devrait fonctionner. Moi, je dois bien avouer que je ne comprend pas u__u

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Août 2004
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 52
    Par défaut
    Ca fonctionne de toute façon puisque quand access est installé ca marche. Le souci n'apparaît qu'avec le runtime.

    D'ou ma question : Y a t'il une autre façon de faire la même chose !??

  6. #6
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Par défaut
    Citation Envoyé par Chrissrare
    Ca me renvoi la valeur -1

    On peut utiliser quoi d'autres qu'(eval) alors ???
    C'est le même résultat aussi pour des champs vides?
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Août 2004
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 52
    Par défaut
    Non quand le champ est plein il renvoi la valeur -1 et quand il est vide, il renvoi la valeur 0 ...

  8. #8
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Par défaut
    Ce que tu réponds, c'est bien en testant en Runtime?

    Si le Msgbox renvoie les bonnes valeurs et que le If n'en tient pas compte, c'est kya un couac...
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Août 2004
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 52
    Par défaut
    Oupppps désolé AlainTech, je te donnais le résultat avec Access d'installé. Quand je lance sur la version RUNTIME il me renvoi tout le temps la valeur -1. Que la combo soit vide ou pleine c'est pareil.

    Encore dsl...

    Merci ...

  10. #10
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Par défaut
    Je serais toi, j'essayerais avec une syntaxe du genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Not [Forms]![Modif demande devis]![SF Modif demande devis 1]![Modifiable24].Text = ""
    Plus "universelle", à mon avis...
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  11. #11
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Par défaut
    J'ai retrouvé la bonne syntaxe.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Not IsNull([Forms]![Modif demande devis]![SF Modif demande devis 1]![Modifiable24])
    Edit --> Pour autant que la valeur de Modifiablexx puisse bien être Null.

    Ca devrait être accepté autant en RunTime qu'en développement.
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  12. #12
    Membre averti
    Profil pro
    Inscrit en
    Août 2004
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 52
    Par défaut
    Ca marche nikel !!! Je te remercie beaucoup ...


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

Discussions similaires

  1. Execution commande dos dans VBA (Pb de guillemets ?)
    Par shinta dans le forum VBA Access
    Réponses: 3
    Dernier message: 19/10/2007, 14h19
  2. [VBA E] problème avec la commande assignation à worksheets
    Par noir_desir dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 22/03/2007, 22h45
  3. Problème avec la commande cd dans un shell
    Par kanko dans le forum Shell et commandes GNU
    Réponses: 4
    Dernier message: 12/09/2006, 09h40
  4. [VBA][EXCEL]PB avec la commande WorksheetFunction.VLookup
    Par Ania dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 02/11/2005, 16h41
  5. Réponses: 3
    Dernier message: 22/10/2004, 12h04

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