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 :

[IHM]Etat ou Formulaire basé sur une requete analyse croisée


Sujet :

IHM

  1. #1
    Futur Membre du Club
    Inscrit en
    Décembre 2006
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 11
    Points : 6
    Points
    6
    Par défaut [IHM]Etat ou Formulaire basé sur une requete analyse croisée
    Bonjour,
    pouvez-vous m'expliquer comment présenter de manière dynamique dans un état et dans un formulaire le résultat d'une requête analyse croisée (Access 2000) ?
    J'ai une base de gestion de stock à 3 tables (Produits, Emplacements, Mouvements).
    Ma requete croisée, à un instant T, m'indique les produits en stock, et la quantité par emplacement ("Produits" en en-tête de ligne, et "Emplacements" en en-tête de colonne). Les emplacements vides, et les produits pour lesquels il n'y a pas de stock ne sont pas affichés. Ca me convient.
    Mon problème : j'ai réussi à créer un état et un formulaire en indiquant les emplacements retournés par la requete croisé. Mais si par la suite j'ajoute des mouvements de stock qui utilisent de nouveaux emplacements auparavant vides, la requete les retourne mais mon état et mon formulaire ne montrent pas ces emplacements, puisque, étant vides, ils n'étaient pas mis dans l'état ni dans le formulaire lors de leur création.
    J'ai donc besoin d'un formulaire/état "dynamique".
    Est-ce faisable ?
    Merci de vos conseils

  2. #2
    Membre chevronné
    Inscrit en
    Août 2006
    Messages
    1 588
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 1 588
    Points : 2 178
    Points
    2 178
    Par défaut
    C'est faisable mais lourd.
    Pourquoi ne pas faire simple en evitant l'analyse croisée. Les données doivent être affichables autrement.

  3. #3
    Futur Membre du Club
    Inscrit en
    Décembre 2006
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 11
    Points : 6
    Points
    6
    Par défaut
    Je suis preneur ! Mais comment ? Ma requete croisée me permet de calculer le solde des entrées et des sorties d'un produit, afin d'en afficher le solde, et l'emplacement où se trouvent les stocks.
    S'il y a un autre moyen de faire ça, ça m'intéresse.

    Faut-il créer une requete 'ajout de table' et ensuite baser mon formulaire/mon état sur cette table ?

  4. #4
    Futur Membre du Club
    Inscrit en
    Décembre 2006
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 11
    Points : 6
    Points
    6
    Par défaut
    Je reviens sur le problème que j'avais posé : en fait ce que je cherche à faire c'est d'afficher dans un formulaire et imprimer dans un état une sorte de liste d'inventaire qui indique quels articles sont stockés, les emplacements contenant ces articles, et la quantité par emplacement.
    Ma requete croisée affiche ces infos mais je voudrais que l'utilisateur puisse les voir présentées dans un formulaire si possible (question d'esthétique !) et surtout qu'il puisse les imprimer. Si j'imprime la requete telle qu'elle est affichée, ça nécessite une mise en page à chaque fois, et je ne veux pas que l'utilisateur ait à s'en occuper.
    Bien évidemment, il serait possible d'exporter la requête vers Excel.
    Mais le top du top serait de pouvoir créer ce fichu formulaire ou un état.
    Mais à chaque fois que je les crée, je ne dispose que des champs existants à ce moment précis dans ma requete : pour l'en-tête de ligne il me propose le champ "nom du produit", et pour l'en-tête de colonne il me propose les champs existants correspondant aux emplacements occupés.
    Si ensuite j'occupe un nouvel emplacement il est retrouvé par ma requete mais pas affiché dans mon état, car non défini au moment de la création de l'état.
    J'ai 3 tables :
    T-Produit :avec un seul champ "nom produit"
    T-Adresse : avec un seul champ "nom adresse" qui correspond à l'emplacement où le produit est rangé
    T-Mouvement : champs : "n° mouvement" (clé unique), "date mouvement", "nom produit", "nom adresse", "qté entrée", "qté sortie".

    Du basique, quoi !
    Ma requete croisée, sur la table T-Mouvements, calcule le solde des entrées et sorties sur un produit, et affiche bien une grille avec les champs Nom Produit, Stock total, et un champ avec le nom de chaque emplacement occupé, et la quantité de chaque produit dans l'emplacement occupé. J'aimerais juste avoir la même chose dans un état, et que cet état s'adapte automatiquement à chaque fois qu'un nouvel emplacment est occupé.

    Est-ce le fait de passer par une requete croisée qui n'est pas bon, ou est-ce ma requete qui est mal conçue ? J'ai passé des heures à tenter de comprendre ce qui ne marche pas et je refuse de baisser les bras, parce qu'il y a forcément une solution, mais j'ai atteint la limite de mes connaissances...
    alors SOS

  5. #5
    Expert éminent
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Points : 8 268
    Points
    8 268
    Par défaut
    Salut,

    Il y a un truc génial que l'on appelle les sources

  6. #6
    Futur Membre du Club
    Inscrit en
    Décembre 2006
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 11
    Points : 6
    Points
    6
    Par défaut
    Génial ! Exactement ce qu'il me faut. Je vais essayer de me débrouiller avec ça, même si je n'ai pas un super niveau en Access. Mais le tâtonnement fait aussi partie du plaisir !
    Merci M'sieu.

  7. #7
    Futur Membre du Club
    Inscrit en
    Décembre 2006
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 11
    Points : 6
    Points
    6
    Par défaut
    Bonjour Kikof,
    je suivi tes conseils (je pense !) mais ça bloque. Peux-tu me secourir ?
    J'ai copié dans mon état le code fourni dans les sources, en l'adaptant à mon application (j'ai mis le nom de ma requete au bon endroit, je crois).
    Ca bloque ici :

    Procédure et fonction à placer dans l'état :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub Initvar 
    Private Sub Initvar() 
     
        Dim entX As Integer 
        Total_etat = 0 
     
        For entX = 1 To NbColonnes 
            Total_colonnes(entX) = 0 ' le débogueur repère cette ligne et j'ai le message "l'indice n'appartient pas à la sélection"
     
        Next entX 
     
    End Sub

    et puis ici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub Report_Close() 
     
        rstEnregistrement.Close ' avec le message "variable objet ou variable de bloc With non définie"
     
    End Sub

    Alors, est-ce qu'il a suffi d'insérer le nom de ma requete pour que ce code tourne bien ou ai-je encore à l'adapter à mon application ?

    Merci !

  8. #8
    Expert éminent
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Points : 8 268
    Points
    8 268
    Par défaut
    Citation Envoyé par steveWC
    Bonjour Kikof,
    je suivi tes conseils (je pense !) mais ça bloque. Peux-tu me secourir ?
    J'ai copié dans mon état le code fourni dans les sources, en l'adaptant à mon application (j'ai mis le nom de ma requete au bon endroit, je crois).
    Ca bloque ici :

    Procédure et fonction à placer dans l'état :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub Initvar 
    Private Sub Initvar() 
     
        Dim entX As Integer 
        Total_etat = 0 
     
        For entX = 1 To NbColonnes 
            Total_colonnes(entX) = 0 ' le débogueur repère cette ligne et j'ai le message "l'indice n'appartient pas à la sélection"
     
        Next entX 
     
    End Sub
    C'est certainement lié à la 2ème erreur.
    et puis ici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub Report_Close() 
     
        rstEnregistrement.Close ' avec le message "variable objet ou variable de bloc With non définie"
     
    End Sub

    Alors, est-ce qu'il a suffi d'insérer le nom de ma requete pour que ce code tourne bien ou ai-je encore à l'adapter à mon application ?

    Merci !
    Vérifie que la référence Microsoft DAO 3.x soit cochée.

Discussions similaires

  1. [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
  2. Réponses: 2
    Dernier message: 23/09/2012, 12h02
  3. formulaire basé sur une requete et une table
    Par gayour dans le forum IHM
    Réponses: 1
    Dernier message: 17/07/2010, 16h36
  4. Etat basé sur une Requete Analyse Croisée
    Par Bercud dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 08/06/2006, 16h03

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