Page 1 sur 1

[Résolu] Valeur id au lieu de nom par menu déroulant

Publié : 11 févr. 2012 20:37
par ValdeVillard
Bonjour,
Je débute avec Base même si il y a fort longtemps j'avais travaillé sur Access, j'ai peu de reste. J'ai étudié avec soin le super tuto "http://user.services.openoffice.org/fr/ ... ir#p156904". Il est vraiment très bien fait et correspond parfaitement à ma situation. Mais je crise car je n'arrive pas à trouver mon erreur correspondant à la partie "Apport de la version 3.3". :fou:

Le menu déroulant Désignation me renvoie sur la valeur des ID et non sur le nom des produits.
2012-02-11_2101.png

J'aurai bien voulu vous mettre le fichier de la base mais il est trop gros. Je n'arrive pas à réduire sa taille.
Alors je vous ai prévu quelques copies d'écran. J'aurai voulu vous mettre la requête mais on ne peut mettre que 3 fichiers joint...
2012-02-11_2123_001.png
2012-02-11_2123.png
Désolée je ne suis vraiment pas douée !!!
si vous pouviez me mettre sur la bonne voie, ce serait sympa. Merci

Re: pb valeur id au lieu de nom par menu déroulant

Publié : 11 févr. 2012 21:04
par jeanmimi
Bonjour,
Le menu déroulant Désignation me renvoie sur la valeur des ID et non sur le nom des produits.
C'est normal.
Si tu veux avoir ensuite une reconstruction avec le nom des produits, par exemple pour tes factures, tu le feras dans une requête. En effet, il n’est pas nécessaire ni utile de stocker des dizaines de fois le même nom de produit alors qu'il est plus "économique" de ne stocker que les id et qu'une seule fois le nom du produit.
J'aurai bien voulu vous mettre le fichier de la base mais il est trop gros
J'attire aussi ton attention sur le fait qu'en stockant les photos des bijoux dans la table Bijou, tu vas très vite avoir une très grosse base qui peut devenir instable.

Re: pb valeur id au lieu de nom par menu déroulant

Publié : 12 févr. 2012 00:29
par Piaf
Bonsoir

Essaye de mettre quelques données dans la base jointe qui permettent de reproduire le problème
Vérifie que je ne me sois pas planté pour les données du formulaire
Si tu débute la construction de ta base suit le conseil de jeanmimi en ne stockant que le chemin des images
d'autant plus que d'après tes tables tu stocke les photos des bijoux et celles des apprêts(ça risque de planter vite)
et qu'il parait difficile de vouloir le faire après
http://user.services.openoffice.org/fr/ ... =8&t=32194
A+

Re: Valeur id au lieu de nom par menu déroulant

Publié : 12 févr. 2012 10:29
par ValdeVillard
Merci pour votre intérêt.

J'ai repris la base test en faisant des modifs. Mais là j'ai carrément plus de menu déroulant.
Bijouxtest.odb
J'ai l'impression que plus je m'acharne pire c'est !!!

En attendant je m'intéresse à la macro pour les images.

à bientôt et merci encore de zieuter un peu cette base rebelle !

Re: Valeur id au lieu de nom par menu déroulant

Publié : 12 févr. 2012 10:42
par jeanmimi
Mais là j'ai carrément plus de menu déroulant.
Je ne reproduis pas ce que tu décris, la zone de liste est bien active.

Re: Valeur id au lieu de nom par menu déroulant

Publié : 12 févr. 2012 10:58
par ValdeVillard
Oups j'ai du mal me faire comprendre.

Le menu déroulant est celui placé dans le tableau. Il s'agit de "Nom". C'est là que le bat blesse. Je veux faire apparaître le nom de mes apprêts pour remplir le tableau de tarification.
2012-02-12_1152.png
J'ai une requête qui me permet de calculer le prix unitaire des mes apprêts car généralement je les achète en gros. Puis une requête qui doit calculer le prix en fonction de la quantité utilisée dans le bijou. Quantité que je veux rentrer dans le tableau.
Ensuite je fais le total avec une requête que je n'ai pas rajouté dans le test mais qui marchait.

Quand je serai grande. Je ferai après une sélection des apprêts en fonction du type de bijoux. Mais quand je serai grande !!! :?

merci

Re: Valeur id au lieu de nom par menu déroulant

Publié : 12 févr. 2012 11:03
par Ravioli
Bonjour,

Excusez moi de m’immiscer dans cette discussion où de vrais spécialistes de Base s'expriment déjà,

mais il est nécessaire de compacter la base régulièrement car
à force de manipulation sur les données et les objets (ajout / suppression), tout fichier .odb a tendance à enfler.
  1. Fermez votre base et faites-en une copie.
  2. Notez la taille de votre Base actuelle puis ouvrez celle-ci.
  3. pour en réduire la taille, il existe une commande SQL :

    Code : Tout sélectionner

    CHECKPOINT DEFRAG 
    Menu : Outils > SQL...
    à saisir dans la Boite de dialogue Exécuter l'instruction SQL :
    Image
    Tapez la commande puis Bouton Exécuter puis Bouton Fermer.
    Cette manipulation permet la compression et le nettoyage de la base .
  4. Fermez votre Base et vérifiez sa nouvelle taille.
A+

Re: Valeur id au lieu de nom par menu déroulant

Publié : 12 févr. 2012 13:28
par Piaf
Bonjour

Pour la grille du sous formulaire c'est normal que tu n'ai rien
les champs de liaison concernant la tarification ne sont pas renseignés
tu ne peux donc pas avoir de corrélation entre bijoux et apprêts
Ajoute dans ta base exemple le formulaire par lequel tu entre ces données
A+

Re: Valeur id au lieu de nom par menu déroulant

Publié : 12 févr. 2012 16:39
par ValdeVillard
Bon je progresse mais ce n'est pas encore ça.
Si je rentre à la main des infos dans ma requête détails ligne. Les infos apparaissent dans mon sous-formulaire. Mais toujours pas de menu déroulant Nom dans mon sous-formulaire !!!
Bijouxtest.odb
Je ne comprends pas quelle est la différence entre ma logique et celle de la base exemple :
BaseExempleTutorielForum33.odb
Bon moi je n'ai pas besoin de la table tarification car pour un bijou, il n'y a qu'une tarification (ce n'est pas comme les clients qui peuvent passer plusieurs commandes). Et moi je calcul un prix unitaire avant le prix d'une ligne de la tarification. De toute manière mon calcul semble bon.

Alors c'est quoi le bug. Ca doit être tellement gros que je ne le vois plus...
Grrrr :fou: :fou: :fou:

merci de jeter un oeil

Re: Valeur id au lieu de nom par menu déroulant

Publié : 12 févr. 2012 18:30
par Piaf
Bonsoir
ValdeVillard a écrit :car pour un bijou, il n'y a qu'une tarification
en conséquence explique moi à quoi sert ta table Details_Tarification
j'avoue ne pas arriver à comprendre ta démarche
J'ai l'impression que tu es parti sur un modèle qui ne correspond pas à ce que tu veux faire
Pose un peu, Oublie le modèle et explique ce que tu veux obtenir sans faire référence au modèle
A+

Re: Valeur id au lieu de nom par menu déroulant

Publié : 12 févr. 2012 19:16
par ValdeVillard
Alors si j'essaye de poser les choses...
J'ai un bijou composé de minimum 4 apprêts à peut-être 30 apprêts différents. Il s'agit de définir le coût des matières premières. Par exemple un fermoir toggle, un cordon, 5 perles métal, 6 rocailles, 8 anneaux etc vont coûter 1+2+(5*0.2)+(6*0.125)+(8*0.002).. euros

Au préalable comme j'achète les anneaux par 200 chez X, je veux déterminer le prix unitaire d'un anneau. Ainsi je n'ai pas à faire le calcul à chaque fois que je crée un nouvel apprêt dans la base. Je rentre directement les quantités achtées et le prix que j'ai payé. Ca c'est bon :super:

1. Je voudrais un formulaire où je remplie la table Bijou : nom, type et photo. Ça c'est bon :super:

2. puis dans le même formulaire je veux déterminer son prix avec le détail de sa composition (tableau comportant nom de l’apprêt, prix unitaire, quantité, prix).

2.1 Je dois donc sélectionner chaque apprêt et indiquer la quantité nécessaire pour le dit bijou. Quand la base sera terminée, j'aurai plus d'une centaine d’apprêts différents classés par type. Je souhaiterai donc avoir un menu déroulant. (l'idéal serait de pouvoir sélectionner d'abord le type d’apprêt et ensuite seulement l’apprêt avec sa photo, mais on verra plus tard) là ça coince :?

2.2 Un requête calcul pour chaque apprêt sélectionné le montant en fonction de la quantité. ça c'est bon :super:

2.3 Pour finir Il me faut sommer le prix de chaque apprêt avec une autre requête (calcul le total des lignes). là aussi c'est bon.

La table DétailTarification donne la liste des apprêts en fonction de la refbijou, leur quantité :
refDetailtarification en clé primaire
refbijou
refapprets
quantité

elle permet d'alimenter une requête qui calcul le prix de chaque apprêt en fonction de la quantité indiquée.

merci

Re: Valeur id au lieu de nom par menu déroulant

Publié : 13 févr. 2012 08:48
par Piaf
Bonjour

après de nombreux essais.
ça ne fonctionne que si tu met le PU en dur dans la table Apprêt
à priori Base ne permet que la mise à jour de requêtes basées sur des tables
le modèle auquel tu te réfère est le bon
Table Bijou > table Commande
Table détails_tarifications > détailCommande
table Apprêt > produits
Il me reste à tester la vue au cas où mais il était vraiment trop tard pour que je continu hier soir
si ça fonctionne avec la vue, je te préviens au plus tôt
sinon je t'envoie une macro pour automatiser le calcul de PU
A+

Re: Valeur id au lieu de nom par menu déroulant

Publié : 13 févr. 2012 09:58
par ValdeVillard
C'est vraiment trop gentil. Vraiment merci beaucoup.

Re: Valeur id au lieu de nom par menu déroulant

Publié : 13 févr. 2012 10:51
par Piaf
Bonjour
Testé avec la vue mais même résultat qu'avec la requête
Je te renvoie la base modifiée
Regarde si ça te va
A+

Re: Valeur id au lieu de nom par menu déroulant

Publié : 13 févr. 2012 12:51
par ValdeVillard
C'est absolument parfait. Si ça intéresse quelqu'un je mettrais la base en exemple quand j'ai finalisé les dernières touches : Total fournitures, temps de travail, charges...