voici ma base de données
et le RAD de cette base de données
j'ai un problème de l'ajout dans la base de données!!!
merci d'avance
voici ma base de données
et le RAD de cette base de données
j'ai un problème de l'ajout dans la base de données!!!
merci d'avance
Salut,
C'est bien de dire qu'on a un problème, c'est mieux de dire un problème avec quoi...
Montre nous le code que tu utilises pour ajouter un élément dans ta base... Tu ajoutes quoi ? Une facture ? Un produit ?
Est-ce que quelqu'un à une boule de crystal pour éclaircir ces mystères ?
Est-ce que tu as lu le cours d'autoformation et comprend tu ce que tu veux faire ?
Est-ce que tu as regardé l'aide pour répondre à tes questions ?
Bref... la balle est dans ton camp !
Bonjour,
Le problème est dans la relation Contient <> Facture.
Tatayo.
Salut TOBER,
Mon problème exactement c'est je n'arrive pas à ajouter des PRODUIT qu'ils ont une seul FACTURE ou bien IDFACTTURE,
plus précisément (Quand je click sur Valider):
* Les produits saisie dans la tables PRODUIT
* La facture qu'elle a un ID et DATE dans la table FACTURE
* et la table CONTIENT avais les deux clé primaires des deux tables (IDFACTURE et IDPRODUIT) qu'ils sont des clés doublons.
donc dans la table CONTIENT il y a : la clé de la facture IDFACTURE et la clé de produit IDPRODUIT.
Note: J'ai pas utilisé un seul code, le RAD qu'il a généré tous ça. (pourtant j'ai appliqué tous le didacticiel de Autoformation).
Merci beaucoup TOBER.
Bonjour TATAYO,
Oui c'est vrai le problème dans la relation Contient <> Facture. et voici le message d'erreur:
<Facture.IDFacture> et <Contient.IDFacture> ne sont pas respectées.
Code erreur : 70015
Niveau : erreur non fatale (EL_ONRETURN)
Code erreur WD55 : 15
STP c'est quoi la solution a ton avis ?
Merci d'avance mes Amis.
Salut,
Voici le code de Bouton Valider:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 // Vérification des champs SI Produit_Facture..Occurrence = 0 ALORS Erreur("Vous devez saisir des Produit_Facture") RETOUR FIN // Mise à jour du contexte HF EcranVersFichier() // Ajout ou modification de Facture SI Facture..NouvelEnregistrement = Vrai ALORS HAjoute(Facture) SINON HModifie(Facture) FIN // On a ajouté le Facture // Maintenant on va ajouter les Produit_Facture correspondants POUR TOUTE LIGNE DE Produit_Facture // On affecte l'identifiant de Facture dans les colonnes de la table des Produit_Facture Contient.IDFacture = Facture.IDFacture // Enregistrement de la table TableEnregistre(Produit_Facture) FIN // Valeur de retour MaFenêtre..ValeurRenvoyée = Vrai
Merci.
Bonjour,
si vous prenez le temps de regarder votre MCD (votre première capture d'écran) vous devez remarquer une aberration, non ?
Tatayo vous a aiguillé fortement...
Salut RY_YO,
Est ce que mon MCD est faut, si oui est ce que tu peux me corrigé (STP) ?
Merci infiniment.
Inutile de crier...
Le problème est très simple: expliques nous très précisément la relation entre les différentes tables (avec la signification des cardinalités), et tu trouveras tout seul la réponse.
Tatayo.
Salut mon ami,
Bon, au début j'avais que 2 tables PRODUIT et FACTURE avec les cardinalités suivants:
Produit [0,n]------------------[1,n] FACTURE
l'assistant de Windev s'ouvre et il m'a proposé d'ajouter une autre table (J'ai l'a nommé CONTIENT).
l'assistant ajoute les 2 clés primaires des 2 tables PRODUIT (clé doublon) et FACTURE (clé doublon) et une autre clé IDPRODUIT+IDFACTURE (clé primaire)
j'ai lu dans un autre forum que tu dois supprimé la 3eme clé (ici c'est : IDPRODUIT+IDFACTURE (clé primaire))
après j'ai fait la génération avec le RAD de Windev, et voila, les résultats comme vous voyez au début.
Mon but dans ce projet c'est:
1 - Afficher une fenêtre qui porte en haut : * un IDFACTURE
* une Date
en bas : * une table que je peux la remplir par les produits et a chaque fois j'entre un produit le clé s'incrémente
* le contenu de la table c'est les champ de la table PRODUIT (IDPRODUIT, Nom, Prix, Quantite)
a droite : * un bouton Ajouter (Ajouter les différents champs chaqu'un dans sa table)
C'est ça mon projet, que ce que tu propose ?
Merci beaucoup TATAYO.
J'ai bien compris ce que tu veux faire, mais tu ne réponds pas à la question.
Considère que je ne comprends rien, et essaie de m'expliquer le schéma, les tables et leur relation (clé primaire, étrangère, contrainte, cardinalité), de telle sorte que je pourrai refaire le schéma juste avec ces explications.
En les rédigeant tu trouveras immédiatement d'où vient le problème, et la solution à apporter.
Tatayo.
Merci TATAYO de ta patience,
Le schéma au debut de ma conception, c'est avec 2 tables PRODUIT et FACTURE, et les cardinalité sont comme suit:
Produit [0,n]------------------[1,n] FACTURE
Explication de ces cardinalités:
chaque PRODUIT peut avoir [0] FACTURE ou [n] FACTURE
chaque FACTURE a au moins [1] ou [n] PRODUIT
et ça pour moi c'est logique.
et l'assistant de Windev exige qu'on doit avoir une 3eme table parce que il existe une relation père/père
je l'ai suit et tombé dans cette mauvaise résultat.
Je suit perdu... mes amis...!!!
On s'approche...
Maintenant la même chose, mais avec "la version 3 tables", vu que le problème est avec ce schéma.
Tatayo.
salut,
pour la 3eme table CONTIENT, l'explication c'est:
On ne peut pas avoir une IDFACTURE et IDPRODUIT 2 fois c'est une clé composé de 2 clé primaires
c-a-d il n'y a pas une même FACTURE qui porte 2 fois le même PRODUIT, et ça aussi c'est logique.
Mais j'arrive pas a résolu mon problème TATAYO.
Le problème n'est pas dans la clé primaire de la table CONTIENT.
Refais moi l'explication que tu m'as donné à 15:16, mais avec les trois tables.
Tatayo.
Respect Tatayo pour ta grande patience et ta pédagogie ! je te plusoie sur toute la ligne !
SQL : le véritable Esperanto
"Les patates à ta tata épatent ton tonton mais les pates aux thons à ton tonton épatent pas ta tata." (Michel Souris)
MERCI DE NE PAS M'ENVOYER DE MESSAGE PRIVE POUR DES QUESTIONS TECHNIQUES SANS MON ACCORD !
Une relation, c'est entre deux tables (enfin en SQL ).
Donc oublie les 3 tables. Expliques en premier les deux tables de gauche (PRODUIT et CONTIENT, sans tenir compte de FACTURE), puis les deux tables de droite (CONTIENT et FACTURE, sans tenir compte de PRODUIT).
Oublies ce que représente les tables, contente toi juste de décrire le schéma.
Tatayo.
[PRODUIT][0,n]------------[1,1][CONTIENT]
un PRODUIT peut avoir 0 ou n CONTIENT --------> vrai
CONTIENT ne peut avoir qu'un seul PRODUIT --------> faux
[CONTIENT][1,1]------------[1,n][FACTURE]
CONTIENT ne peut avoir qu'une seul FACTURE --------> faux
une FACTURE peut avoir au minimum un CONTIENT --------> vrai
Est ce que c'est juste ou pas, parce que c'est tous ce que je peux faire mon ami.
On s'approche...
C'est ce type d'explication que j'attendais:
Bref un dernier effort, on touche au but !Envoyé par this.G
Tatayo.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager