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

IHM Discussion :

Ouvrir un formulaire en VB en appliquant un filtre


Sujet :

IHM

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations forums :
    Inscription : Mars 2009
    Messages : 16
    Points : 12
    Points
    12
    Par défaut Ouvrir un formulaire en VB en appliquant un filtre
    Bonjour,

    Dans un formulaire, j'ai une liste déroulante. L'utlisateur choisit une valeur pour cette liste déroulante.Quand il clique sur un bouton de ce formulaire, en fonction de la valeur de cette liste, cette action doit ouvrir tel ou tel formulaire.

    Voici mon 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
    Module1.GetNumProdCrea
    Dim IdProduct As String
    IdProduct = Module1.NumProd
    If (IsNull(Me.TypeL)) Then
        MsgBox ("Veuillez définir le type laitier avant d'accèder aux quotas vente directe")
    Else
        'MsgBox (Me.TypeL)
        If (Me.TypeL = "Vaches") Then
            MsgBox (IdProduct)
            DoCmd.OpenForm "ListeQuoVac", acNormal, , "VenteDirecte.numProducteur =" & IdProduct
        Else
            DoCmd.OpenForm "ListeQuoChev", acNormal, , "cstr(VenteDirecte.numProducteur) =" & IdProduct
     
        End If         
     
    End If
    TypeL représente la valeur de ma liste déroulante. Dans ma commande d'ouverture de formulaire, je souhaite appliquer un filtre sur le champ numProducteur de la table VenteDirecte en le comparant avec la variable IdProduct.

    Ce script ne fonctionne pas. Avez vous une idée. D'avance, merci.

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    238
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Avril 2009
    Messages : 238
    Points : 183
    Points
    183
    Par défaut
    Bonjour à toi, pourrais tu être plus précis quand à l'erreur du script? cela te renvoie-t-il un message d'erreur (si oui lequel)? Le formulaire ne s'ouvre pas (ou pas le bon formulaire)? ou il s'ouvre sur le mauvais enregistrement?

    Cordialement

    mcfly

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations forums :
    Inscription : Mars 2009
    Messages : 16
    Points : 12
    Points
    12
    Par défaut
    erreur d'execution 3464
    Type de donnée incompatible dans l'expression du critère

    merci

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    238
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Avril 2009
    Messages : 238
    Points : 183
    Points
    183
    Par défaut
    Ok, de quel type de donnée est le champ IDProduct? et de quel type est le champ numProducteur? car si c'est tout les deux des champs textes, alors il faut mettre des guillemets :

    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
    Module1.GetNumProdCrea
    Dim IdProduct As String
    IdProduct = Module1.NumProd
    If (IsNull(Me.TypeL)) Then
        MsgBox ("Veuillez définir le type laitier avant d'accèder aux quotas vente directe")
    Else
        'MsgBox (Me.TypeL)
        If (Me.TypeL = "Vaches") Then
            MsgBox (IdProduct)
            DoCmd.OpenForm "ListeQuoVac", acNormal, , "VenteDirecte.numProducteur =""" & IdProduct & """"
        Else
            DoCmd.OpenForm "ListeQuoChev", acNormal, , "cstr(VenteDirecte.numProducteur) =""" & IdProduct & """"
     
        End If         
     
    End If
    edit : je vien de regarder le début du code et effectivement IdProduct est un string^^ donc ca doit surement être ca, les guillements

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations forums :
    Inscription : Mars 2009
    Messages : 16
    Points : 12
    Points
    12
    Par défaut
    ces deux données sont au format texte. Où dois je alors mettre des guillemets?

    dois je mettre un cstr comme mon else où la solution du if est elle bonne?

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    238
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Avril 2009
    Messages : 238
    Points : 183
    Points
    183
    Par défaut
    Pas besoin de cstr, voila ou sont les guillemets :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.OpenForm "ListeQuoVac", acNormal, , "VenteDirecte.numProducteur =""" & IdProduct & """"

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations forums :
    Inscription : Mars 2009
    Messages : 16
    Points : 12
    Points
    12
    Par défaut
    ok
    merci beaucoup ça marche nickel

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    238
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Avril 2009
    Messages : 238
    Points : 183
    Points
    183
    Par défaut
    De rien^^

    N'oublie pas de mettre le tag [Resolu] sur ton sujet

    Cordialement

    Mcfly

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

Discussions similaires

  1. Ouvrir un formulaire lorsqu'on ferme un état?
    Par drthodt dans le forum Access
    Réponses: 3
    Dernier message: 13/09/2005, 10h00
  2. ouvrir un formulaire avec le rslt d'une requête
    Par 973thom dans le forum Access
    Réponses: 4
    Dernier message: 09/09/2005, 16h51
  3. Réponses: 3
    Dernier message: 19/05/2005, 17h52
  4. Réponses: 3
    Dernier message: 23/02/2005, 16h51
  5. ouvrir le formulaire utilisé précédemment
    Par xycoco dans le forum IHM
    Réponses: 12
    Dernier message: 03/01/2005, 19h04

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