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 :

Imprimer état selon un where sur un champ absent de l'état [AC-2007]


Sujet :

IHM

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    683
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 683
    Points : 237
    Points
    237
    Par défaut Imprimer état selon un where sur un champ absent de l'état
    Bonjour,

    J'ai un état type bon de commande qui marche. J'ai besoin de l'imprimer en 2, 3, 4... éditions selon un code famille des articles.

    Ce code regroupement n'est pas dans l'état. Il est dans la requête source de mon état.

    J'ai essayé ce code sans succés :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Dim DocName As String
    Dim LinkCriteria As String
    
    DocName = "Commandes_Nomades1"
    LinkCriteria = "[ACCESS_ENTETES_VTES.NUM_ORD]=[Formulaires]![Bon de commande]![NUM_ORD]"
    ' forme différente de critère "[NUM_ORD]=Forms![Bon de commande]![NUM_ORD]"
    'DoCmd.OpenReport DocName, A_PREVIEW, , LinkCriteria  code que j'utilisais avant
    DoCmd.OpenReport DocName, A_PREVIEW, COD_REGROUPEMENT = "1", LinkCriteria
    en rouge est le code que j'ai mis qui ne filtre rien.

    Voyez-vous où est mon erreur ?

    Merci d'avance

  2. #2
    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
    J'aurais plutôt utilisé ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.OpenReport DocName, A_PREVIEW,, COD_REGROUPEMENT = '1' and " & LinkCriteria
    Car la partie que tu as utilsé pour COD_REGROUPEMENT = "1" s'utilise pour un nom de filtre préalablement enregistré

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    683
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 683
    Points : 237
    Points
    237
    Par défaut
    Merci pour ton aide.

    Malheureuseusement, cela ne marche pas. Il me sort une erreur "incompatibilité de type"

    Mon champ COD_REGROUPEMENT est de type texte.

    J'ai essayé ceci au cas où :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    LinkCriteria = "[ACCESS_ENTETES_VTES.NUM_ORD]=[Formulaires]![Bon de commande]![NUM_ORD] and [BonCommande_Impression]![COD_REGROUPEMENT]=1"
    L'état s'ouvre mais rien n'est filtré.

  4. #4
    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
    Essaye avec (tu as dans ton critère une partie fixe et une partie variable)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    LinkCriteria = "[ACCESS_ENTETES_VTES.NUM_ORD]=" & [Formulaires]![Bon de commande]![NUM_ORD] & " and [BonCommande_Impression]![COD_REGROUPEMENT]='1'"
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    LinkCriteria = "[BonCommande_Impression]![COD_REGROUPEMENT]='1' and [ACCESS_ENTETES_VTES.NUM_ORD]=" & [Formulaires]![Bon de commande]![NUM_ORD]
    On encadre le 1 avec des ' car il est de type texte ; on peut aussi doubler les ".

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    683
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 683
    Points : 237
    Points
    237
    Par défaut
    Désolé mais cela ne marche tjrs pas.

    Cette fois-ci Il me met :
    Erreur d'exécution '2465' : NOMDELABASE ne trouve pas le champ '|' auquel il est fait référence dans votre expression

    J'ai essayé tout court : (pour m'assurer qu'il accepte bien ce bout en plus)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    LinkCriteria = "[BonCommande_Impression]![COD_REGROUPEMENT]='1'"
    Cela marche. C'est dés que je mets 2 critères que cela ne marche plus.

    Aurais-tu une autre idée ?

  6. #6
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    683
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 683
    Points : 237
    Points
    237
    Par défaut
    Bonsoir,

    aprés avoir cherché pendant 2h00 ce soir, je n'ai rien trouvé dans le forum pouvant m'aider. Je suis persuadé avoir vu dans un post (mais je ne le retrouve pas) qu'on pouvait faire notre critère via une requête SQL.

    Si une personne peut me fournir un exemple? , cela me serait super utile.

    J'espère que cela peut être une solution pour mon pb.

    Je ne comprends pas où ça bloque : si je modifie ma requête qui est la source de mon état en mettant le N° de mon BC et le code regroupement voulu = la requête fonctionne bien. Si j'exécute l'état, il sort vide.

    Tous les posts que j'ai trouvé donnait des exemples avec 1 seul critère donc impossible de comparer avec les différents codes données pour essayer de trouver un indice...

  7. #7
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 394
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 394
    Points : 19 816
    Points
    19 816
    Billets dans le blog
    66
    Par défaut
    Salut,

    Peux-tu reposter le code complet avec le message d'erreur qu'il provoque ?

    et éventuellement le code SQL de la requête source de ton état...

  8. #8
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    683
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 683
    Points : 237
    Points
    237
    Par défaut
    Merci pour ton intérêt.
    En désespoir, j'ai abandonné et j'ai décidé de passer par 4 états et 4 requêtes.
    Je suis en train maintenant de batailler avec un open.recordset mais c'est pas le cadre de ce post.

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

Discussions similaires

  1. Requête SQL sur une base Access, where sur un champ date
    Par digital prophecy dans le forum Bases de données
    Réponses: 1
    Dernier message: 09/05/2008, 16h47
  2. Clause WHERE sur deux champs
    Par mouchkar dans le forum Langage SQL
    Réponses: 3
    Dernier message: 09/01/2008, 16h03
  3. conditionner un état selon la valeur d'un champ
    Par Guizbizet dans le forum IHM
    Réponses: 2
    Dernier message: 27/12/2006, 11h20
  4. Somme sur un champ calculé dans un état
    Par Format dans le forum IHM
    Réponses: 5
    Dernier message: 28/11/2006, 14h21
  5. Faire un where sur un champs date qui peut etre vide
    Par blueman dans le forum Oracle
    Réponses: 12
    Dernier message: 03/01/2006, 13h46

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