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 :

Recordset d'une requête avec champ calculé


Sujet :

VBA Access

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    172
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 172
    Points : 69
    Points
    69
    Par défaut Recordset d'une requête avec champ calculé
    bonjour,

    N'ayant pas eu de réponse hier, je me permets de reposer mon probléme:

    Je souhaite créer un recordset basé sur une requête dont un champ est calculé (Valeur d'un champ d'un formulaire ouvert- valeur d'un champ de la table origine de la requête)
    Mais l'éxecution du code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set AnnCatg = MaBase.OpenRecordset("AnnéesCatég", dbOpenDynaset)
    l'erreur suivante est annoncée:
    Erreur d'éxecution '3061'
    Trop peu de paramètres. 1 Attendu

    Faut-il rappeler la valeur contenue dans le champ du formulaire?

    Voici le code SQL:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT DateCatégorie.Catégorie, DateCatégorie.AgeMin, DateCatégorie.AgeMax, [Formulaires]![ACCUEIL]![Saison]-[DateCatégorie]![AgeMax] AS AnMax, [Formulaires]![ACCUEIL]![Saison]-[DateCatégorie]![AgeMin] AS AnMin
    FROM DateCatégorie
    GROUP BY DateCatégorie.Catégorie, DateCatégorie.AgeMin, DateCatégorie.AgeMax, [Formulaires]![ACCUEIL]![Saison]-[DateCatégorie]![AgeMax], [Formulaires]![ACCUEIL]![Saison]-[DateCatégorie]![AgeMin]
    ORDER BY DateCatégorie.AgeMin;
    Si quelqu'un peut m'expliquer,
    Merci d'avance

  2. #2
    Membre émérite

    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 751
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 751
    Points : 2 368
    Points
    2 368
    Par défaut
    Bonjour,

    Pour commencer, tu devrais ouvrir directement la requête "AnnéesCatég" à partir de la fenêtre de Base de données d'Access.

    Ainsi tu sauras quel est le "paramètre manquant" qui pose problème. Si c'est un problème de syntaxe, alors tu sauras où agir...
    _

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    172
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 172
    Points : 69
    Points
    69
    Par défaut
    Merci pour ton tuyau mais l'ouverture de la requête à partir de la fenêtre base de données ne pose pas de problème si le formulaire contenant le champ saison est ouvert.

  4. #4
    Expert éminent
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Points : 7 759
    Points
    7 759
    Par défaut
    Bonsoir,

    Il faut utiliser cette méthode : Comment utiliser en VBA une requête existante ?

    Pour toi le nom du paramètre est : [Formulaires]![ACCUEIL]![Saison]
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    qdf.Parameters("[Formulaires]![ACCUEIL]![Saison]") = Forms("ACCUEIL").Saison     '<== si requête paramétrée
    A+

  5. #5
    Membre émérite

    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 751
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 751
    Points : 2 368
    Points
    2 368
    Par défaut
    Citation Envoyé par gbzmt Voir le message
    Merci pour ton tuyau mais l'ouverture de la requête à partir de la fenêtre base de données ne pose pas de problème si le formulaire contenant le champ saison est ouvert.
    J'avais cru lire ceci...
    Citation Envoyé par gbzmt Voir le message
    Valeur d'un champ d'un formulaire ouvert
    Faudrait quand même savoir... ouvert ou pas ouvert ton formulaire !?
    _

  6. #6
    Membre émérite

    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 751
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 751
    Points : 2 368
    Points
    2 368
    Par défaut
    Re-bonjour,

    Si ton formulaire est effectivement ouvert, alors tu peux modifier ta requête en utilisant la fonction Eval pour récupérer la valeur du contrôle.

    Donc, dans le corps de la requête tu remplaces:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [Formulaires]![ACCUEIL]![Saison]
    Par:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Eval("[Forms]![ACCUEIL]![Saison]")
    Ce qui donne:
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT DateCatégorie.Catégorie, DateCatégorie.AgeMin, DateCatégorie.AgeMax, Eval("[Forms]![ACCUEIL]![Saison]")-[DateCatégorie]![AgeMax] AS AnMax, Eval("[Forms]![ACCUEIL]![Saison]")-[DateCatégorie]![AgeMin] AS AnMin
    FROM DateCatégorie
    GROUP BY DateCatégorie.Catégorie, DateCatégorie.AgeMin, DateCatégorie.AgeMax, Eval("[Forms]![ACCUEIL]![Saison]")-[DateCatégorie]![AgeMax], Eval("[Forms]![ACCUEIL]![Saison]")-[DateCatégorie]![AgeMin]
    ORDER BY DateCatégorie.AgeMin;

    Si ton formulaire est fermé, alors LedZeppII t'a montré la voie...
    _

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    172
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 172
    Points : 69
    Points
    69
    Par défaut Merci
    Vous êtes formidables !!!

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

Discussions similaires

  1. [AC-2003] Requête avec champ calculé multi-critère : je cale
    Par gandalf20000000 dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 29/09/2009, 18h31
  2. RechDom avec une Requête et Champs Calculé !
    Par Jawad-smart dans le forum IHM
    Réponses: 5
    Dernier message: 14/06/2008, 19h51
  3. Critères avec opérateurs dans une requête avec des champs calculés
    Par lmollard dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 11/05/2008, 18h53
  4. [WD9] requête avec champ calculé
    Par gbzmt dans le forum WinDev
    Réponses: 9
    Dernier message: 29/04/2008, 12h02
  5. Recordset d'une requête avec champ calculé
    Par gbzmt dans le forum VBA Access
    Réponses: 2
    Dernier message: 12/02/2008, 07h37

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