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

Access Discussion :

Mon Outil de gestion (plusieurs problèmes)


Sujet :

Access

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 11
    Points : 4
    Points
    4
    Par défaut Mon Outil de gestion (plusieurs problèmes)
    Bonjour, je suis étudiant en Logistique et Transport et actuellement en stage dans une entreprise de transport routier.
    Ma problématique traite de la gestion des palettes Europe.
    Je dois creer un outil informatique sur Access capable de comptabiliser les échanges de palettes, et ainsi générer des comptes (historique des mouvements) pour chaque société partenaire.

    Le but de cet outil étant de réaliser des comptes retraçant les échanges de palettes Europe entre mon entreprise et ses différents partenaires (expediteurs, destinataires).
    Pour cela, l'outil comptabilisera les mouvements d'entrées et de sorties des palettes du camion au chargement(expediteur) et à la livraison(destinataire).
    Certaines entreprises sont multi-sites alors que d'autres en ont qu'un seul, l'outil doit réaliser des comptes pour chacun des sites.
    De plus, mon entreprise ne réalise pas l'ensemble des transports, puisqu'elle fait appelle à des affreteurs, l'outil doit réaliser les comptes entre l'affreteur (qui travaille pour le compte de mon entreprise) et les partenaires. (j'espere que tous ça est clair )

    J'ai pour l'instant créé des tables, requete et formulaires. J'ai remplis la base de données (tables partenaire, sitepartenaire et transporteur).
    Trouvez ci-joint des captures d'écran:
    -relation entre Tables.
    -Formulaire de recherche du site partenaire concerné.
    -Formulaire de saisie des mouvements pour le site concerné.
    -Formulaire de consultation des comptes (historique des mouvements).

    A ce stade, je me trouve confronté à plusieurs problemes (code VB, lien entre formulaires...).

    ma premiere question concerne le formulaire de recherche du site.
    Pour chaque société s'affiche la liste des sites. Comment peut-on selectionner le site souhaité (dans la feuille de données) et ainsi ouvrir le formulaire de saisie des mouvements pour ce même site (les informations du haut devant correspondre au site)?


    Ps: j'espere que ce sujet n'est pas trop génant car non spécifique à un problème, mais créer un sujet pour chaque question en expliquant à chaque fois le but de l'outil aurai été encore plus lourd, je crois!
    Images attachées Images attachées     

  2. #2
    pgz
    pgz est déconnecté
    Expert éminent Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Points : 6 591
    Points
    6 591
    Par défaut
    Bonjour,

    Une remarque initiale:
    Dans la table 'Mouvements' tu as créé un champ 'N° Partenaire'. Il ne sert à rien, sauf peut-être à poser des pb. Le lien entre mouvements et partenaires est assuré en passant par la table des sites.

    Pour chaque société s'affiche la liste des sites. Comment peut-on selectionner le site souhaité (dans la feuille de données) et ainsi ouvrir le formulaire de saisie des mouvements pour ce même site (les informations du haut devant correspondre au site)?
    Tu peux par exemple utiliser l'évènement sur doubleclick du numéro de site pour ouvrir le formulaire des mouvements en mode ajout et en passant un argument d'ouverture = n° de site qui a été double cliqué.
    Mais tu travailles avec quelle version d'access?

    Bon courage,
    pgz

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 11
    Points : 4
    Points
    4
    Par défaut
    Je travaille sur Access 2003 (format fichier version 2000)

    Dans la table 'Mouvements' tu as créé un champ 'N° Partenaire'. Il ne sert à rien, sauf peut-être à poser des pb. Le lien entre mouvements et partenaires est assuré en passant par la table des sites.
    La table 'SitesPartenaire' ne fait pas vraiment le lien car elle regroupe uniquement le détail des sociétés multi-sites.
    n°partenaire pour toutes les sociétés.
    n°partenaire + n° sitepartenaire pour les différents sites des sociétés multisites.
    Si j'enlève n°partenaire de la table 'Mouvements' , je ne pourrais pas faire d'enregistrement pour les société à site unique.

    Tu peux par exemple utiliser l'évènement sur doubleclick du numéro de site pour ouvrir le formulaire des mouvements en mode ajout et en passant un argument d'ouverture = n° de site qui a été double cliqué.
    C'est la où j'ai beaucoup de mal, je n'y connais rien en code VisualBasic!

    Après reflexion, je vais modifier mes formulaires ou plutot supprimer celui de la recherche de site!
    La recherche se fera directement sur le formulaire de saisie des mouvements avec deux listes deroulantes ;
    1. Nom partenaire (lié au n°partenaire)
    2. Nom Site Partenaire ( lié au n° partenaire + n°sitepartenaire)
    Comment pourrais-je faire apparraitre la seconde liste (différents sites de la société concernée (uniquement pour sociétés multisites)) en fonction de la valeur de la premiere (société concernée)?

  4. #4
    Membre habitué
    Inscrit en
    Juillet 2002
    Messages
    150
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 150
    Points : 169
    Points
    169
    Par défaut
    Comme dit par pgz ton Modèle de données cloche.

    il faut commencer par modéliser (MCD) correctement avant de partir en formulaire, requêtes, code

    je pense que tu devrais commencer par revoir cette partie là en premier. Si tu nous décrit précisément la situation sous forme claire et simple on pourra t'aider

    ex :
    • une entreprise a un ou plusieurs sites
    • (...)

    @+

  5. #5
    pgz
    pgz est déconnecté
    Expert éminent Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Points : 6 591
    Points
    6 591
    Par défaut
    Bonjour,

    Si j'enlève n°partenaire de la table 'Mouvements' , je ne pourrais pas faire d'enregistrement pour les société à site unique.
    Ce n'est pas juste. Dans le cas d'une entreprise qui n'a qu'un site ( = 1 établissement?) tu enregistres cette société dans la table des sociétés et son site unique dans la table des sites. C'est tout.

    C'est la où j'ai beaucoup de mal, je n'y connais rien en code VisualBasic!
    Dans ce cas, tu peux peut-être demander une formation avant d'attaquer un tel développement.

    Comment pourrais-je faire apparraitre la seconde liste (différents sites de la société concernée (uniquement pour sociétés multisites)) en fonction de la valeur de la premiere (société concernée)?
    Cette solution de deux listes de choix me semble bonne. Mais tu peux laisser les deux choix dans tous les cas (multisite ou monosite). Par contre il faut que la liste des sites tienne compte du choix de société. Tu peux faire ça avec une requête paramétrée sur le contrôle 'société' ou en modifiant la RowSource en VBA lors de la mise à jour du contrôle 'société'.

    Voilà, en espérant que cela t'aide et cordialement,

    pgz

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 11
    Points : 4
    Points
    4
    Par défaut
    Bonjour,
    suite à vos conseils, j'ai donc revu mon modele afin d'éviter une boucle dans mes relations.
    j'ai donc supprimer le champ "N°Partenaire" de ma table "mouvement" et j'ai ajouter les enregistrements des Sociétés monosites dans la table "SitesPartenaires".
    J'ai également supprimer requête et formulaires afin de repartir du bon pied! et on y va!!

    Je repars sur la conception d'un formulaire unique!
    J'ai réussi à faire correspondre mes deux listes pour le choix du site! (grâce au FAQ )

    Par contre, j'aimerais utiliser le pop-up DateChooser pour ma selection de date mais j'ai un problème.
    Je rentre le code sur le controle adéquate:
    Private Sub TxtDateMouv_Click()
    snrf_DateChooser Me.TxtDateMouv
    End Sub
    lorsque je veux l'executer, j'ai ce message: "erreur de compilation : variable ou procédure attendue et non un projet".
    Quelqu'un pourrait m'indiquer la marche à suivre SVP?

  7. #7
    Expert éminent sénior
    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 526
    Points
    14 526
    Par défaut
    slt,

    il manque un bout, fais une recherche dans le forum et la solution tu trouveras...

  8. #8
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 11
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par Arkham46
    slt,

    il manque un bout, fais une recherche dans le forum et la solution tu trouveras...
    Oups... désolé! J'ai trouvé. Merci.

  9. #9
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 11
    Points : 4
    Points
    4
    Par défaut
    Bonjour,

    Après quelques semaines de "creusage" de cervelle, j'ai décidé de changer complètement de méthode par rapport à ce qui est inscrit au dessus! et d'ailleurs, j'ai beaucoup moins de galere!
    enfin, bref... ne pas se réferer aux posts précédents!

    Mon formulaire de saisie des mouvement palettes marche nikel!
    et je suis actuellement sur mon formulaire de recherche qui va me permettre d'éditer les "comptes palettes" pour chaque entreprise!

    j'ai utilisé le Tuto de Caféine, et j'ai un problème de "erreur 3464: type de données incompatibles dans l'expression du critère" dès que je clique sur une des checkbox!

    voici une partie du code:

    Private Sub RefreshQuery()


    Dim SQL As String
    Dim SQLWhere As String
    SQL = "SELECT N°MOUVEMENT, NOM, DATE, TYPE_MOUVEMENT, ENTREE, SORTIE, SOLDE, NOM_SOCIETE, N°LETTRE_VOITURE FROM CompteMouvements Where CompteMouvements!N°MOUVEMENT <> 0 "
    If Not Me!chkSociété Then
    SQL = SQL & "And CompteMouvements!NOM = '" & Me.CmbRechSociété & "' "
    End If
    If Not Me!ChkTransporteur Then
    SQL = SQL & "And CompteMouvements!NOM_SOCIETE = '" & Me.CmbRechTransporteur & "' "
    End If
    If Not Me!ChkFinPériode Then
    SQL = SQL & "And CompteMouvements!DATE <= '" & Format(Me.TxtFinPériode, "#mm/dd/yyyy#") & "' "
    End If

    SQLWhere = Trim(Right(SQL, Len(SQL) - InStr(SQL, "Where ") - Len("Where ") + 1))
    SQL = SQL & ";"

    Debug.Print SQL

    Me.lblstats.Caption = DCount("*", "CompteMouvements", SQLWhere) & " / " & DCount("*", "CompteMouvements")
    Me.LstResultatRech.RowSource = SQL
    Me.LstResultatRech.Requery

    End Sub
    le debug print:
    SELECT N°MOUVEMENT, NOM, DATE, TYPE_MOUVEMENT, ENTREE, SORTIE, SOLDE, NOM_SOCIETE, N°LETTRE_VOITURE FROM CompteMouvements Where CompteMouvements!N°MOUVEMENT <> 0 And CompteMouvements!NOM = '' And CompteMouvements!DATE <= '' ;
    bon ça fait quelques heures que je fais des recherches sur le forum et j'ai vu que des sujets identiques étaient traités mais j'ai pas trouvé la sollution (et d'ailleurs je comprend pas le problème!!)

    Merci à vous,

  10. #10
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 11
    Points : 4
    Points
    4
    Par défaut
    bonjour,
    problème résolu!
    sauf que maintenant c'est à l'ouverture du formulaire qu'apparait le message "type de données incompatible dans l'expression du critère" mais sans conséquences puique le formulaire fonctionne correctement!!
    et la ??? je comprend pas ???

    de plus, j'aimerais creer une zone de texte ou s'afficherai la somme des soldes (valeurs dans ma liste de résultat) après avoir fais ma recherche.
    mais je ne sais pas comment faire!

    Merci à vous!

  11. #11
    Expert éminent sénior
    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 526
    Points
    14 526
    Par défaut
    bonsoir,

    Citation Envoyé par Makaveli33
    bonjour,
    problème résolu!
    c'est cool mais dans ce cas pourquoi continuer sur ce message pour d'autres problèmes?
    Citation Envoyé par Makaveli33
    sauf que maintenant c'est à l'ouverture du formulaire qu'apparait le message "type de données incompatible dans l'expression du critère" mais sans conséquences puique le formulaire fonctionne correctement!!
    et la ??? je comprend pas ???
    ben moi non plus je ne comprend pas, comment veux tu qu'on devine?
    dans la requête source du formulaire peut-être?
    Citation Envoyé par Makaveli33
    de plus, j'aimerais creer une zone de texte ou s'afficherai la somme des soldes (valeurs dans ma liste de résultat) après avoir fais ma recherche.
    mais je ne sais pas comment faire!
    ben peut-être une zone de texte dans le pied de formulaire avec Somme([ton champs])
    peu d'infos pour pouvoir en dire plus

Discussions similaires

  1. [Débutant] Console, plusieurs problèmes dans mon programme
    Par Maaarion.m dans le forum C#
    Réponses: 3
    Dernier message: 17/02/2012, 20h24
  2. [MySQL] Plusieurs problèmes sur mon script ( création d'un forum) php
    Par safadkhi dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 02/07/2009, 09h03
  3. Fonctionnement interne des outils de gestions de paquets
    Par Spoutnik dans le forum Shell et commandes GNU
    Réponses: 4
    Dernier message: 14/03/2006, 14h52
  4. Outil de gestion des sources
    Par therouxy dans le forum SCM
    Réponses: 4
    Dernier message: 27/09/2005, 20h23
  5. Recherche d'un outil de gestion de projet
    Par Bruno75 dans le forum SCM
    Réponses: 2
    Dernier message: 20/12/2004, 08h23

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