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 :

Utilisation critère vb dans un état Access


Sujet :

IHM

  1. #1
    Membre du Club
    Inscrit en
    Décembre 2004
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 40
    Points : 41
    Points
    41
    Par défaut Utilisation critère vb dans un état Access
    Bonjour,

    J'imprime un etat access d'une application VB, en passant un critère.

    VB :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MesEtats.DoCmd.OpenReport "Edition", acViewPreview, , critereVb 
    J'aurais besoin de récupérer ce critère à l'ouverture de l'état dans access

    Access :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Report_Open(Cancel As Integer)
    'lecture dans table du critère
    If (DLookup("[ChampTable]", "Table", "filtre=" & critereVb )) = True Then
    'affichage image
    else
    'affichage image
    end if
    Cela ne fonctionne pas : "filtre=" & critereVb
    Je ne connais pas le moyen de récupéré le critère de filtre envoyé par vb! J'espère que c'est possible.
    Quel est la solution?

    Merci

    Nicolas

  2. #2
    Membre régulier Avatar de Sonic
    Inscrit en
    Mars 2002
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 105
    Points : 96
    Points
    96
    Par défaut
    Dans l'ouverture de ton état regardes plutot la variable Me.OpenArgs qui devrait contenir la valeur que tu recherches

  3. #3
    Membre du Club
    Inscrit en
    Décembre 2004
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 40
    Points : 41
    Points
    41
    Par défaut
    Oui C'est bien ce genre de propriété que je recherche MAIS il ne fonctionne pas dans mon état (je suis en access 97). J'ai l'impression que c'est plus pour les formulaires que pour les état. En tout cas erreur "membre de méthode introuvable" avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If (DLookup("[ChampTable]", "Table", "filtre=" & me.openargs )) = True
    Donc je suis tjrs bloqué .

    Nicolas

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 22
    Points : 11
    Points
    11
    Par défaut
    bonjour,
    je suis actuellement sur le meme probleme que toi, exactement le meme probleme : ouvrir, depuis un formulaire et avec du code vba, un etat sur un enregistrement (groupe d enregistrement) specifique, en fonction de choix effectués sur le formulaire de depart.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If (DLookup("[ChampTable]", "Table", "filtre=" & me.openargs )) = True
    pourquoi ne passes tu pas par la propriete filter et filter on, pour a l ouverture, preciser un peu plus les enregistrements a afficher dans l etat? Rien ne t empeche de remettre la propriete filteron a "false" a la fermeture de l etat, dans le but de ne pas modifier la requete "source" de cet etat.

    ps: moi je suis sur access 2003, je sais pas si ca change quelque chose quand a ce probleme

  5. #5
    Membre du Club
    Inscrit en
    Décembre 2004
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 40
    Points : 41
    Points
    41
    Par défaut
    Merci crapule je vais regarder dans ce sens .

    La différence c'est que moi je ne passe pas d'un formulaire access vba a un etat access mais d'un programme en vb6 a un etat access.

    J'ai l'impression que c'est + compliqué. Pourtant l'argument est forcément quelque part.

    je regarde donc comme tu dis ...

    ... apparement ca fonctionne pas pour mon cas de figure.
    Il faut que je puisse récupérer le critère envoyé par vb et non mettre un filtre en dur.

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 22
    Points : 11
    Points
    11
    Par défaut
    probleme resolu pour moi, je vais te donner mes 2 bouts de code, en esperant que ca t aidera:

    code du cote formulaire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Private Sub Commande34_Click()
    Dim a As String 
     
    ''mon critere provient d une zone de texte intitulé "NomProduit" 
    ''(champs d une table)
    a = Forms![FormProduitsEdit]![NomProduit] 
    ''ouverture de l etat intitulé "test" avec ma variable a comme OpenArgs
    DoCmd.OpenReport "test", acViewPreview, qryProduits, , , a
    End Sub

    code du coté etat:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Private Sub Report_Open(Cancel As Integer)
    Dim a As String
    a = Me.OpenArgs
    Me.Filter = "NomProduit = '" & a & "'"
    Me.FilterOn = True
    End Sub
    voili voila, bon courage

    edit:
    pour que ca soit un peu plus propre, j avais oublié ce petit bout de code, coté etat :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Private Sub Report_Close()
    Me.FilterOn = False
    End Sub
    voila, comme ca, rien n a été changé dans ton etat une fois que tu le fermes

  7. #7
    Membre du Club
    Inscrit en
    Décembre 2004
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 40
    Points : 41
    Points
    41
    Par défaut
    Merci mai sje reste bloqué sur openargs qui apparement ne fonctionne pas avec Acces97 dans les états
    Si quelqu'un connait la fonction équivalente...

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 22
    Points : 11
    Points
    11
    Par défaut
    ah, je m attendais pas a cela...
    petite idee qui me traverse l esprit :
    je suis loin d etre un "pro", que ce soit en info ou avec access/vba, etant en 1ere annee de bts iris....L idee que j ai ne vaut peut etre pas grand chose et fera peut etre halluciner un pro mais : creer une requete specifique pour cet etat et ajouter la clause where manuellement (en vba) avant d ouvrir ton etat (et ne pas oublier de laisser ta requete sans la clause where a la fermeture de l etat)....Ne serait ce pas une possibilité pour te passer des openargs avec les etats??
    C est peut etre de la bidouille, j en sais trop rien, mais si je ne le dis pas, on saura jamais.

Discussions similaires

  1. Réponses: 1
    Dernier message: 28/01/2008, 20h31
  2. Réponses: 1
    Dernier message: 25/01/2006, 13h07
  3. Option d'impression dans un état Access
    Par laur dans le forum VBA Access
    Réponses: 3
    Dernier message: 26/11/2005, 13h21
  4. Import d'un document Word dans un état access
    Par uskiki85 dans le forum Access
    Réponses: 2
    Dernier message: 22/09/2005, 12h00
  5. Création de codes barres dans un état access
    Par caporal dans le forum IHM
    Réponses: 5
    Dernier message: 15/11/2004, 15h13

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