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 :

Affichage Alphabétique sur un Etat


Sujet :

VBA Access

  1. #1
    Inscrit
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    992
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 992
    Points : 217
    Points
    217
    Par défaut Affichage Alphabétique sur un Etat
    Bonjour
    Dans une Table T1, j'ai 3 champs :
    - Nom.
    - Prénom.
    - Entreprise.

    Je Souhaite créer 3 Etats tous les états m'affiche le nom/prénom par Entreprise :

    mais ma question c'est comment faire ceci :
    Etat 1 : qui affiche que les noms des entreprises qui commence par un "A", ou bien qui commence de la lettre "A" à la Lettre "F"

    Etat 2 : qui affiche que les noms des entreprises qui commence par un "B", ou bien qui commence de la lettre "B" à la Lettre "H"

    Merci pour votre Aide.

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Quand tu ouvre un état avec DoCmd.OpenReport tu peux définir en 4ème paramètre un critère de sélection. Dans ton cas cela pourrait ressembler à ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    dim critere as string
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    critere="Left([NomEntreprise],1)=""A"""
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    critere="Left([NomEntreprise],1)>=""A"" and Left([NomEntreprise],1)<=""F"""
    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  3. #3
    Inscrit
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    992
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 992
    Points : 217
    Points
    217
    Par défaut
    Merci, juste une question
    je place ou ce code sur un Etat, car je n'ai jamais mis du code VBA dans un Etat, et sinon pour le "NomEntreprise" comment il sera que ça vient de la Table T1 ?

  4. #4
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Tu mets cela dans la commande d'ouverture de l'état, pas dans l'état lui-même, dans l'instruction DoCmd.OpenReport.

    Exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    docmd.OpenReport "NomTonRapport",,,critere
    [NomEntreprise] est à remplacer par le nom du champ qui contient le nom de l'entreprise dans la source de données utilisée par l'état.

    Et on peut ajouter sans problème du VBA à un état, je me sert régulièrement de cela pour gérer des titres dynamique.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  5. #5
    Inscrit
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    992
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 992
    Points : 217
    Points
    217
    Par défaut
    Est ce que tu peux seulement reprendre étape par étape.Parce que c'est la première fois que je souhaite Mettre du VBA dans des Etats
    Car dans les événements Etat il n y'a pas de Form Load, mais il y'a
    que celà : Détails/Piedpages/ Reports/ ZoneEntêtePage...

    La Déclaration je la mets en tous début.
    Et pour le code suivant je le place Ou ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    critere="Left([NomEntreprise],1)=""A"""
    Et si je comprends bien, NomEntrperise je le remplace par le Nom du Contrôle sur l'état (Me!Control.Value) ?

    Merci d'avance.

  6. #6
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Ce n'est pas à mettre dans l'état c'est à mettre dans le code qui demande l'ouverture de l'état.

    Comment fais-tu pour afficher ton état ? Passes-tu par un formulaire ?

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  7. #7
    Inscrit
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    992
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 992
    Points : 217
    Points
    217
    Par défaut
    Oui j'ai un Boutton qui ouvre mon Formulaire.
    (Merci d'avance de reprendre étape par étape car je me mélange les pinceaux)

  8. #8
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Sur l'événement Click de ton bouton, il doit y avoir "marqué procédure évémentielle".

    Clique sur les ... cela va t'afficher le code associé. Dans ce code tu devrais trouver une instruction DoCmd.Report.

    C'est là que tu dois agir pour filtrer ton impression.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  9. #9
    Inscrit
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    992
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 992
    Points : 217
    Points
    217
    Par défaut
    En faite merci pour le code mais J'ai un problème avec ce dernier :

    il m'affiche normalement l'etat comme si je n'ai jamais rajouté du Code :

    Fournisseur est la Table, le champ contenu dans la Table est : Entreprise.
    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
    
    Private Sub Commande7_Click()
    
    ' Entreprise Commençant par la Lettre A
    
    On Error GoTo Err_Commande7_Click
    
        Dim stDocName As String
        Dim critere As String
       
         
        'Left([Fournisseur.Activit],1) =""D"""
        
        critere = "Left([Fournisseur.entreprise],1)>=""A"" and Left([Fournisseur.Activit],1)<=""A"""
    
        stDocName = "Four_Entreprise"
        DoCmd.OpenReport stDocName, acPreview, critere 
    
    
    Exit_Commande7_Click:
        Exit Sub
    
    Err_Commande7_Click:
        MsgBox err.Description
        Resume Exit_Commande7_Click
          
        
    End Sub
    Il m'affiche l'etat avec toutes les entreprises, A ou T ou autres,

    J'ai aussi voulu essayer avec la Méthode du Select mais ça ne marche pas il m'affiche "Cannot execut the Query" ne pas pas exécuter la Requette.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     
    'Avec la Méthode Select
     dim insSql1 as String 
     
        insSql1 = "SELECT Fournisseur.entreprise FROM Fournisseur  where "Left([Fournisseur.entreprise],1) = ""A"""
     
        CurrentDb.Execute (insSql1)
    Est ce que j'ai oublié un Truc
    Merci pour votre aide.

  10. #10
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    "Left([Fournisseur.entreprise],1)>=""A"" and Left([Fournisseur.Activit],1)<=""A"""
    Est-ce normale que tu test d'un côté entreprise et de l'autre Activit ?

    Aussi es-tu sur que ton champ est [Fournisseur.entreprise] et pas [Fournisseur].[entreprise] ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
        insSql1 = "SELECT Fournisseur.entreprise FROM Fournisseur  where Left([Fournisseur.entreprise],1) = ""A"""
    Essayes avec le code ci-dessus, tu avais un " qui trainait au milieu de ta requète.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  11. #11
    Inscrit
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    992
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 992
    Points : 217
    Points
    217
    Par défaut
    Oui effectivement c'est bien entreprise dans les 2 Testes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "Left([Fournisseur.entreprise],1)>=""A"" and Left([Fournisseur.entreprise],1)<=""A"""
    Mais ça ne marche pas non plus.

    Par contre l'utilisation de ma requette est stocké dans "insSql1"

    et quand j'ouvre l'etat, je mets comme Critère "insSql1" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    stDocName = "Four_Entreprise"
        DoCmd.OpenReport stDocName, acPreview, insSql1
    Mais ça ne fonctionne Toujours pas.

  12. #12
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Tu ne peux pas passer une requête comme critère de sélection pour un état. Il faut lui passer seulement la partie qui suit la clause WHERE. Donc logiquement ici la chaîne de caractère que tu as calculée.

    Pour arréter de tourner en rond, je t'invite à creér une requète qui répond à tes besoins avec l'éditeur de requète. Une fois que les résultats te satisfont, fait afficher le SQL généré et regarde la clause WHERE, cela te donnera la syntaxe exacte que tu dois mettre.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

Discussions similaires

  1. [WD17] Affichage Combo sur Etat
    Par bayekas dans le forum WinDev
    Réponses: 2
    Dernier message: 07/05/2013, 14h55
  2. [CR 7] affichage de deux dates sur l'etat
    Par atifo dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 29/09/2009, 19h27
  3. [WD10] Affichage des images sur l'Etat
    Par Mlle_jomana dans le forum WinDev
    Réponses: 0
    Dernier message: 28/07/2009, 02h53
  4. Affichage pourri sur DEBIAN avec ATI RADEON 7000
    Par jibouze dans le forum Matériel
    Réponses: 2
    Dernier message: 07/04/2005, 00h49
  5. [CR10] Watson sur Nouvel Etat ou Ouverture Etat
    Par L.nico dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 07/06/2004, 11h07

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