Aller au contenu

BDD Access


sicilragazzo

Messages recommandés

Hello !

Je dois créer une base de données qui permettra de relier N fournisseurs livrant chacun N produits différents à N entrepôts qui livreront chacun N magasins de 4 Secteurs. Ça fait beaucoup de N tout ça :)

étant débutant en base de données, je doute de la fiabilité de ma base. :p

Le but étant de gérer les tournées de livraison entrepôt a magasins et de vérifier les stocks je souhaite faire une requête qui me permet de connaitre mon stock par produit et par entrepôt. Quand je réalise une requête qui mélange les tables livraison (Stock_sortant) et Entrée (Stock_entrant), Access ne me

montre que les produits et les entrepôts pour lesquels il y a eu à la fois une entrée et une sortie. Je n'arrive pas à forcer Access à me montrer tous les codes produits. :francais:

De plus certaines relations sont faites sur des valeurs ne disposant pas toujours de clef primaire. Est ce possible ?

Je vous montre une capture de mes relations :

capture_access.JPG

Lien vers le commentaire
Partager sur d’autres sites

De plus certaines relations sont faites sur des valeurs ne disposant pas toujours de clef primaire. Est ce possible ?

Euh .. une relation peut être faite sur un champ ne faisant pas parti d'une clé :)

Le but étant de gérer les tournées de livraison entrepôt a magasins et de vérifier les stocks je souhaite faire une requête qui me permet de connaitre mon stock par produit et par entrepôt. Quand je réalise une requête qui mélange les tables livraison (Stock_sortant) et Entrée (Stock_entrant), Access ne me

montre que les produits et les entrepôts pour lesquels il y a eu à la fois une entrée et une sortie. Je n'arrive pas à forcer Access à me montrer tous les codes produits. :transpi:

Elle ressemble a quoi ta requête sous access, qu'on puisse avoir une idée ? :)

Sinon, faire une requête pour avoir une idée du stock d'un entrepôt, avec ta base, ca risque de devenir plutot chaud, vu que, d'après les relations, le seule moyen est de le "calculer" avec la totalité des entrées/sorties, ce qui peut devenir vite lourd, quand tu commenceras a avoir pas mal de lignes; mais peut-être me trompe-je

Edit: Sinon, je crois avoir compris ta requête access, et c'est normal, vu que comme je dis plus haut, avec tes relations, la quantités de produits se calculent avec entrées et sorties, si il en manque, access fait pas les jointures gauches/droites avec l assistant il me semble, donc ca ne sort pas si il manque l entrée ou la sortie

Lien vers le commentaire
Partager sur d’autres sites

La fameuse requête : elle m'affiche bien le total des mes produits entrés par entrepôt. Des que j'affiche la table Livraison ( même sans la prendre en compte dans les champs de la requête ) ça déconne :transpi:

Oui, normal, comme je t'ai dis, l assistant ne fait que des equi jointures, il doit donc forcement y avoir une entrée et une sortie pour que ca sorte, mais de toute facon, tu n'arriveras pas a la faire avec l'assistant dans ton cas actuel (de ce que je connais de l'assistant, je ne m'en sert jamais), car tu dois faire un calcul sur 2 sous requete, ou une requete avec des jointures gauche/droite, ce qu'il ne fait pas.

Tu peux par contre rentrer directement la requete SQL, ca il le fait

Lien vers le commentaire
Partager sur d’autres sites

Merci pour ta réponse et oui ça va devenir très vite lourd... C'est crétin c'est le sujet d'un TD de licence :transpi:

je sais pas comment faire autrement apparemment avec SQL on peut y arriver bcp plus vite mais... j'ai pas le temps de l'apprendre !

les tables et relations vous semblent elles logiques ?

Et bien j'aurais créé 2 tables, stock_entrepot, stock_magasin, avec no_entrepot/no_produit/quantité, et no_magasin/no_produit/quantité , justement poru pas avoir a le recalculer a chaque fois, suffit de le mettre a jour (ou l'inserer si inexistant) quand il y a entrée/sortie

sinon, il me semble que tes clés sur Entrée, et Livraison sont fausses, tu ne peux pas avoir 2 livraisons du même produit (a des dates differentes) dans le même magasin depuis le même entrepôt ? :move:

Lien vers le commentaire
Partager sur d’autres sites

La fameuse requête : elle m'affiche bien le total des mes produits entrés par entrepôt. Des que j'affiche la table Livraison ( même sans la prendre en compte dans les champs de la requête ) ça déconne :transpi:

Oui, normal, comme je t'ai dis, l assistant ne fait que des equi jointures, il doit donc forcement y avoir une entrée et une sortie pour que ca sorte, mais de toute facon, tu n'arriveras pas a la faire avec l'assistant dans ton cas actuel (de ce que je connais de l'assistant, je ne m'en sert jamais), car tu dois faire un calcul sur 2 sous requete, ou une requete avec des jointures gauche/droite, ce qu'il ne fait pas.

Tu peux par contre rentrer directement la requete SQL, ca il le fait

Je suis dans le cas d'une sorte de centrale d'achat qui gere l'appro de plusieurs entrepots donc... le stock magasin est géré par l'extérieur. Merci bcp ! j'étais pratiquement sur qu'il me manqué une table je viens de la construire il me manque encore les liens avec les entrées et sorties pour l'instant ça merde (erreur d'index !) je pense la refaire bien propre et je devrais m'en sortir non ? pitié dites oui ! :move::-D

02.jpg

Lien vers le commentaire
Partager sur d’autres sites

La fameuse requête : elle m'affiche bien le total des mes produits entrés par entrepôt. Des que j'affiche la table Livraison ( même sans la prendre en compte dans les champs de la requête ) ça déconne :transpi:

Oui, normal, comme je t'ai dis, l assistant ne fait que des equi jointures, il doit donc forcement y avoir une entrée et une sortie pour que ca sorte, mais de toute facon, tu n'arriveras pas a la faire avec l'assistant dans ton cas actuel (de ce que je connais de l'assistant, je ne m'en sert jamais), car tu dois faire un calcul sur 2 sous requete, ou une requete avec des jointures gauche/droite, ce qu'il ne fait pas.

Tu peux par contre rentrer directement la requete SQL, ca il le fait

Je suis dans le cas d'une sorte de centrale d'achat qui gere l'appro de plusieurs entrepots donc... le stock magasin est géré par l'extérieur. Merci bcp ! j'étais pratiquement sur qu'il me manqué une table je viens de la construire il me manque encore les liens avec les entrées et sorties pour l'instant ça merde (erreur d'index !) je pense la refaire bien propre et je devrais m'en sortir non ? pitié dites oui ! :move::-D

02.jpg

Non, fais 2 tables stock, une pour entrepot, l autre pour magasin; ce serais possible avec une seule, mais plus compliqué, et pas avec ce que tu as fais :byebye:

Ou vire le champ qui fait reference au magasin, il a rien a faire là :)

Edit:Bon, va falloir que je t'explique mais je rentre chez moi là '^^

Lien vers le commentaire
Partager sur d’autres sites

Donc, tu étais sur la bonne voie avec code_produit et no_entrepot, ca pas de souci, par contre, le reste, ca va pas :francais:

Tu peux l'enlever ce reste, et ajouter un champ "quantité", qui contiendra donc la quantité actuelle dudit produit dans ledit entrepôt.

Qui plus est, cela permet de vérifier si il correspond a la somme des entrées moins la somme des sorties, pour voir si il y aurait pas des trucs qui disparaissent :p

Ensuite, pour la clé des tables Entrée et Livraison, il y a 2 solutions

la solution "pas propre", où tu ajoutes la date dans la clé que tu avais avant.

la solution "propre", tu ajoutes un champ à ta table, un champ "identifiant".

Ce champ (généralement) est rempli par, dans la réalité, le numéro du bon de livraison, tout simplement.

Là encore, 2 choix possibles, en fonction du TD.

Ou tu as accès à l'information du numéro du bon de livraison (en entrée, comme en sortie), dans ce cas ton champ est un champ qui est "remplis" par l'utilisateur ou le programme.

Ou tu n'y a pas accès, et ton champ est un champ généré automatiquement, et dans ce cas, le mieux c'est que tu mettes un entier en auto incrementation.

Ensuite, sur tes 2 tables, tu peux ajouter un index; (la date) ou (la date et le no_produit et le no_entrepot/magasin), comme tu veux en fait, c surtout la date qui est intéressante car ta table sera je pense très souvent trié par la date, pour sortir les entrées du jour, du mois, entre le jour x et y, etc ...

Voilà, c'est tout pour l'instant il me semble :transpi:

Lien vers le commentaire
Partager sur d’autres sites

Donc, tu étais sur la bonne voie avec code_produit et no_entrepot, ca pas de souci, par contre, le reste, ca va pas :chinois:

Tu peux l'enlever ce reste, et ajouter un champ "quantité", qui contiendra donc la quantité actuelle dudit produit dans ledit entrepôt.

Qui plus est, cela permet de vérifier si il correspond a la somme des entrées moins la somme des sorties, pour voir si il y aurait pas des trucs qui disparaissent :fete:

Ensuite, pour la clé des tables Entrée et Livraison, il y a 2 solutions

la solution "pas propre", où tu ajoutes la date dans la clé que tu avais avant.

la solution "propre", tu ajoutes un champ à ta table, un champ "identifiant".

Ce champ (généralement) est rempli par, dans la réalité, le numéro du bon de livraison, tout simplement.

Là encore, 2 choix possibles, en fonction du TD.

Ou tu as accès à l'information du numéro du bon de livraison (en entrée, comme en sortie), dans ce cas ton champ est un champ qui est "remplis" par l'utilisateur ou le programme.

Ou tu n'y a pas accès, et ton champ est un champ généré automatiquement, et dans ce cas, le mieux c'est que tu mettes un entier en auto incrementation.

Ensuite, sur tes 2 tables, tu peux ajouter un index; (la date) ou (la date et le no_produit et le no_entrepot/magasin), comme tu veux en fait, c surtout la date qui est intéressante car ta table sera je pense très souvent trié par la date, pour sortir les entrées du jour, du mois, entre le jour x et y, etc ...

Voilà, c'est tout pour l'instant il me semble :fete:

Wawou pas mal l'explication merci bcp !

je pense avoir enfin saisi le concept de clef et d'index.... pas si evident que ca quand on a eu des cours de merde... enfin je me sens super con de pas maitriser un logiciel crosoft ;)

maintenant j'ai ma table stock, une référence dans les tables sorties et entrées. J'ai beau retourner le probleme dans tout les sens, j'ai toujours des doublons quand jessaye de realiser une requete ou un etat presentant les entrées et sorties sur un meme document. jespere que c'est un ptit truc bete que j'ai oublié en chemin. Voila la derniere version de mes relations j'ai supprimé les liens entre stock les entrées les sorties car j'hesite, dois je creer un numero auto dans ma table stock ? car pour linstant je ne peux pas creer de clef primaire pour cette table !

03.jpg

Lien vers le commentaire
Partager sur d’autres sites

Ne te sens pas bête, j'ai des frissons dans le dos rien qu'à l'idée de devoir travailler sur access; les formulaires, les requêtes, brrrrr. C'est bien pour ce qui est simple, mais dès que je veux faire un truc bien, donc compliqué, j'ai un peu de mal :fete: et je repasse en mode "code brut" :chinois:

La clé de ta table stock est no_entrepot no_produit. Il n'y a bien evidement qu'une ligne et une seule pour un produit donné et un entrepot donné.

Il n'y a pas de lien entre stock, et entrée/livraison, inutile de chercher :fete:

Et oui, au sens relation, il n'y en a pas, c'est dans le traitement qu'il y en a un.

un truc qui me dérange, c'est que dans entrées/sorties, tu as l icone de la clé a cote des champs date et stock ;)

sur le stock, il ne dois rien y avoir (meme pas un index), et sur la date, un index, mais pas de clé (d'ailleurs, si tu veux plus d'explications sur ça, demande :) )

mais bon, les index, si c'est pas vraiment demandé, te prends pas la tête, c'est en plus, ca peux aider, surtout si tu testes sur beaucoup d'échantillons

J'ai beau retourner le probleme dans tout les sens, j'ai toujours des doublons quand jessaye de realiser une requete ou un etat presentant les entrées et sorties sur un meme document

Là, il faut que tu m'expliques d'avantages. Je suppose que tu dois donner des requêtes exemples, types, ou qui répondent à un cahier des charges ? Explique moi ce que tu veux obtenir, et comment tu as procédé pour l'obtenir actuellement, je t'aiderais à trouver ce qui ne va pas

Lien vers le commentaire
Partager sur d’autres sites

Ne te sens pas bête, j'ai des frissons dans le dos rien qu'à l'idée de devoir travailler sur access; les formulaires, les requêtes, brrrrr. C'est bien pour ce qui est simple, mais dès que je veux faire un truc bien, donc compliqué, j'ai un peu de mal :D et je repasse en mode "code brut" :D

La clé de ta table stock est no_entrepot no_produit. Il n'y a bien evidement qu'une ligne et une seule pour un produit donné et un entrepot donné.

Il n'y a pas de lien entre stock, et entrée/livraison, inutile de chercher :transpi:

Et oui, au sens relation, il n'y en a pas, c'est dans le traitement qu'il y en a un.

un truc qui me dérange, c'est que dans entrées/sorties, tu as l icone de la clé a cote des champs date et stock ;)

sur le stock, il ne dois rien y avoir (meme pas un index), et sur la date, un index, mais pas de clé (d'ailleurs, si tu veux plus d'explications sur ça, demande :) )

mais bon, les index, si c'est pas vraiment demandé, te prends pas la tête, c'est en plus, ca peux aider, surtout si tu testes sur beaucoup d'échantillons

J'ai beau retourner le probleme dans tout les sens, j'ai toujours des doublons quand jessaye de realiser une requete ou un etat presentant les entrées et sorties sur un meme document

Là, il faut que tu m'expliques d'avantages. Je suppose que tu dois donner des requêtes exemples, types, ou qui répondent à un cahier des charges ? Explique moi ce que tu veux obtenir, et comment tu as procédé pour l'obtenir actuellement, je t'aiderais à trouver ce qui ne va pas

Voila The interprétation de access lorsque je tente de confronter mes entrées et mes sorties . Dans la requête on voit que les entrées se dédoublent quand il y a eu une sortie du meme produit et vice versa.

les deux but de la base sont la consultation des stocks avec des petites soustractions ( quand mes entrées et sorties apparaitront clairement !)

et ensuite l'optimisation des tournées par secteur (ça ça va pas trop difficile)

04.jpg

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...