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 :

Formulaire et état basés sur une requête analyse croisée [AC-2000]


Sujet :

IHM

  1. #1
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut Formulaire et état basés sur une requête analyse croisée
    Bonjour à tous,

    Ceci est en relation avec cette discussion :

    http://www.developpez.net/forums/d10...s/#post5779120

    J’ai créé un formulaire basé sur une requête analyse croisée.
    Pour le formulaire, plus de problème.

    J’essaie maintenant de produire un état semblable au formulaire.

    L’idée est de partir d’un embryon d’état qui contient des champs indépendants et de le compléter de manière dynamique. C’est-à-dire faire en sorte que la source de l’état soit celle du formulaire et que les propriétés des contrôles du formulaire (qui ont été créés dynamiquement) soient reportées dans l’état.

    Pas de problème pour le code relatif à ces manipulations.

    Le problème
    Ce message apparaît lorsque je tente d’afficher l’état :



    [A force de chercher une solution, je constate que si j’enregistre une copie de la source du formulaire dans une requête, et que je base mon état sur cette requête, j’obtiens mon résultat.

    Merci déjà à ceux qui m’aideront à comprendre pourquoi.

    Pour que vous puissiez visualiser, je joins une BDD réduite.

    Quoi qu'il en soit, bonne journée.
    Images attachées Images attachées  
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  2. #2
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 334
    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 334
    Points : 19 575
    Points
    19 575
    Billets dans le blog
    65
    Par défaut
    Salut Claude,

    J'espère que cet exemple pourra t'aider :
    FormEtatReqCroisee2.zip

    sur ouverture de l'état tu peux aussi faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    set rs=Me.recordset
     
    for i=1 to rs.fields.count-1
    Me("zdtFournisseur" & Format(i,"00")).ControlSource = rs(i).name
    Me("etFournisseur" & Format(i,"00")).Caption = rs(i).name
             ...
    next i
    A+
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  3. #3
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    Bonsoir User,

    Merci !

    Effectivement ton code m’a aidé à comprendre que, dans ma deuxième solution (celle qui fonctionne), je reconstruisais systématiquement la même requête quels que soient les filtres. Le sql de la requête croisée reste identique, c’est son résultat qui change !

    Donc, je peux simplifier mon code en enregistrant l’état avec une source permanente : la requête que j’ai appelée rTransitoire dans mon exemple.

    1er réflexe
    Par souci d’uniformité, j’inscris aussi le nom de cette requête comme source de mon formulaire (dans mon exemple, c’est le sql que j’avais indiqué).
    Cela fonctionne.

    2e réflexe
    Pour économiser un objet (rTransitoire), j’essaie d’enregistrer mon formulaire et l’état avec, dans les deux cas, le sql comme source.
    Résultat : le formulaire fonctionne mais l’ouverture de l’état provoque le message que j’ai mentionné dans mon poste précédent.

    C’est donc comme si, dans ACCESS2000, la source d’un état ne peut pas être le sql d’une requête croisée. La requête en question doit être enregistrée et c’est son nom qui doit figurer dans la propriété source de l’état.

    Merci encore pour ton intervention.

    Au plaisir de te recroiser.
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  4. #4
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 334
    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 334
    Points : 19 575
    Points
    19 575
    Billets dans le blog
    65
    Par défaut
    Bonsoir Claude,

    Effectivement la source de l'état doit être enregistrée...

    Content d'avoir contribué à résoudre ton problème

    A+
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  5. #5
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut Encore un mot...
    Salut User,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    set rs=Me.recordset
     
    for i=1 to rs.fields.count-1
    Me("zdtFournisseur" & Format(i,"00")).ControlSource = rs(i).name
    Me("etFournisseur" & Format(i,"00")).Caption = rs(i).name
             ...
    next i
    J’ai retenu ton idée.

    L’écriture est élégante et en plus cette manière d’aborder me libère de la contrainte de mentionner dans le code le nombre de paires Etiquette / Fournisseur.

    C’est intéressant pour la maintenance : si on dispose d’un écran plus large qui permet d’augmenter le nombre de paires sans altérer le confort de lecture, il suffit d’ajouter les contrôles supplémentaires en respectant la numérotation, le code ne devra pas être modifié.

    Merci encore.
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 18/07/2014, 11h29
  2. [AC-2007] Création d'un état basé sur une requête analyse croisée
    Par s.rais dans le forum Access
    Réponses: 1
    Dernier message: 28/01/2014, 12h16
  3. Réponses: 2
    Dernier message: 23/09/2012, 12h02
  4. Réponses: 7
    Dernier message: 04/09/2011, 18h14

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