[Résolu] Problème Base de données relationnelles
Stagiaire WDF
Inscrit:
07/05/2006 20:17
Post(s): 31
Bonjour,

problème avec tables relationnelles.

Mon analyse:

1/ Table Commande
(IDCommande,NumCommande,NumCLient,TotalCommande)

2/Table CommandeLigne (Détail de la commande)
(IDCommandeLigne,NumCommande,NumArticle,NumClient,QteArticle,DesignArticle,PrixVenteArticle,TotalLigne)

3/Table Ecritures
(IDEcritures,NumClient,TotalEcriture,NumCommande,NumAccompte)

Mes Liaisons:

Table Commande(1,n)--NumCommande-->(1,1)CommandeLigne
Table Commande(1,1)--NumCommande-->(0,1)Ecritures

J'ai une procédure ValiderCommande qui me permet d'enregister ma commande, cependant j'ai à chaque fois des erreurs de cardinalités voici ma procédure:


PROCEDURE Valider_commande()

nbreligne est un entier
i est un entier





SI COMBO_Clients = "" ALORS
Info("Veuillez choisir un client valide")
RETOUR
FIN


SELON Dialogue("Etes-vous sûr de valider cette commande?")
// Oui
CAS 1


//On ajoute la commande dans la table commande
Commande.NumClient=COMBO_Clients..Valeur
Commande.NumCommande=SAI_NumCommande..Valeur
Commande.TotalCommande=SAI_TotalTTC
HAjoute(Commande)

//On ajoute l'écriture
Ecritures.NumClient=COMBO_Clients..Valeur
//Ecritures.NumCommande = SAI_NumCommande..Valeur
Ecritures.TotalEcriture=SAI_TotalTTC..Valeur
HAjoute(Ecritures)

//On ajoute les informations de la commande dans la table commande ligne
nbreligne = TableOccurrence(TABLE_Articles)
POUR i=1 A nbreligne
CommandeLigne.NumCommande = Commande.NumCommande
CommandeLigne.NumClient= COMBO_Clients.COL_NumClients
CommandeLigne.TotalLigne = SAI_TotalTTC..Valeur
TableSelectPlus(TABLE_Articles,i)
CommandeLigne.QteArticle=TABLE_Articles.COL_Quantité
CommandeLigne.NumArticle=TABLE_Articles.COL_NumArticle
CommandeLigne.DesignArticle=TABLE_Articles.COL_Designation
CommandeLigne.PrixVenteArticle=TABLE_Articles.COL_PrixVente
CommandeLigne.TotalLigne=TABLE_Articles.COL_Prix_Total
HAjoute(CommandeLigne)



FIN

Info("Votre commande a été enregistrée")
MDIOuvre(FEN_Menu_Commandes)
Ferme(FEN_commandes)


// Non
CAS 2
RETOUR
FIN


Merci pour votre aide

Contribution le : 25/06/2006 15:07

Edité par drcharly93 sur 3/7/2006 12:28:31
Créer un fichier PDF de la contribution Imprimer


Re: Problème Base de données relationnelles
Stagiaire WDF
Inscrit:
27/06/2006 15:19
Post(s): 1
Salut,

As tu essayé d'identifier quel est le HAjoute qui pose problème?

Si oui, ajoute la constante hignoreintégrité en paramètre :
HAjoute(La_Table, hIgnoreIntégrité)

Vérifie ensuite les résultats dans WDMap.
Si tout est correct, alors tu dois avoir un problème sur un champ clé ou alors tes relations sont mal définies.

@+

Contribution le : 27/06/2006 15:22
Créer un fichier PDF de la contribution Imprimer


Re: Problème Base de données relationnelles
Stagiaire WDF
Inscrit:
28/06/2006 10:45
Post(s): 1
Bonjour

Une COMMANDE peut exister sans Ligne de Commande, par contre une ligne de commande ne peut exister qu'avec un N° de commande.
Donc la relation doit être :
COMMANDES (0,n) ------------(1,1) LIGNECOMMANDE
Donc le Numero de Commande doit avoir été créé d'abord.
De même pour écritures:
COMMANDES (0,1) -------------(1,1) ECRITURES

Contribution le : 28/06/2006 10:52
Créer un fichier PDF de la contribution Imprimer


Re: Problème Base de données relationnelles
DSI WDF
Inscrit:
03/12/2004 07:46
Post(s): 235
Charles a raison.
Tu as un problème d'analyse.
Quand tu crée la commande tu lui imposes d'avoir au moins 1 ligne et tu n'acceptes de créer une ligne que si la commande existe.

Contribution le : 28/06/2006 10:58
Créer un fichier PDF de la contribution Imprimer


Re: Problème Base de données relationnelles
Stagiaire WDF
Inscrit:
07/05/2006 20:17
Post(s): 31
Merci à vous tout est ok

Contribution le : 02/07/2006 11:38
Créer un fichier PDF de la contribution Imprimer



 Haut   Précédent   Suivant




Enregistrer votre réponse
CompteNom   Mot de passe   Authentification
Message:


Vous ne pouvez pas débuter de nouveaux sujets.
Vous pouvez voir les sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
Visualiser tous les Partenaires...
WinDev, WebDev, WinDev Mobile et HyperFile sont des marques déposées par PCSoft. |  Voter |  Legal |  Contact |   XOOPS 2.0.13.2