DELPHI jointure - Programmation
Marsh Posté le 05-10-2001 à 14:21:08
AGA a écrit a écrit : A jsuis keblo comme un bleu Comment on fait une jointure avec Delphi et des tables paradox ds un datamodule???? |
faut utiliser les TQuery et faire une requête SQL
select * From Table1 T1, Table T2 where T1.Num_ID = T2.NumID order by Num_ID
c'est un ex bon, faut connaitre le sql (of course )
Marsh Posté le 05-10-2001 à 14:42:03
ba d'autres moyens???
Bon ba jvais faire une requete merde
Marsh Posté le 05-10-2001 à 14:55:44
jsuis paumé!
j'ai une table operation qui stocke le numero d'op letype op (facture, commande)
l'employe qui la prepa
UNE TABLE COMPREND QUI STOCKE LE n°op et le N°produit et la qté
une table employe, une table type OP
je doit faire une fiche pour remplir une operation
mais j'ai pas comment m'y prendre, y me faut des jointures?
Marsh Posté le 05-10-2001 à 14:59:13
ds delphi Mastapp c le même genre mais c pas mal bordelique leur affaire mais y pas de requetes sql pour la partei order
Marsh Posté le 05-10-2001 à 15:54:06
je crois que j'ai trouvé, mais j'arrive pas à faire un champ de reference??!!
Marsh Posté le 05-10-2001 à 21:45:45
ReplyMarsh Posté le 05-10-2001 à 23:06:09
t'as un peu de mal à t'exprimer, toi, non? un peu foufouillou dans ta tête?
allé, donne moi les champs de chaque table et dis moi ce que tu veux faire
j'ai l'impression que les MCD/MLD et le sql, c'est aps ton fort
Marsh Posté le 07-10-2001 à 10:35:51
heu...Vendredi c'etait la fin de la semaine
En fait je doit creer une operation (ds mon programme une OP est un devis, une commande ou une facture)
J'ai donc une table pour l'operation (N°, Date, preparateur, NoType etc...) une table qui decrit le NoType, une table qui stocke le No d'OP et le NoProduit, + la qte , et enfin une table pour les produits (prix etc...)
Les deux tables importantes sont la table OP, et la table porte sur (NoOp; NoProduit, qte), la ou j'etais paumé c'est que l'utilisateur ne voyait que les N° (numero produit, au lieu de sa description etc...) en fait il fallait rajouter des champs de reference ds la table porte sur, pour que s'affiche selon le no produit, sa des, son prix etc...
mais j'arrive pas a creer ces champs (il me dit que j'qi pqs le droit), faut peut être que je vire lq jointure entre les deux tables (portesur et produit)
Là c dimanche matin j'espere que je suis clair
merci
Marsh Posté le 07-10-2001 à 20:57:01
bon, un conseil: moi, ce que je fais, c'est que j'utilise soit un Query, comme ça, à partir du n° du produit, j'ai le nom
query.FielfValues['nom_du_champ'], soit j'utilise la fonction Locate (composant table) qui renvoit true ou false (enregistrement trouvé ou pas) et ensuite, pareil table.FieldValues['']
en gros pour les jointure, faut avoir des clé étrangères dans certaines tables et ensuite, tu gères logiciellement l'affichage des infos désirées, sachant que le composant dbgrid est très bien , même pour afficher différents champs de différentes tables
Marsh Posté le 08-10-2001 à 08:15:59
pour les clé etrangere, merci j'en ai qq'une (ba oui j'ai mon MCD et mon MLD, voui voui, moa j'analyse aussi )
PArcontre les champs de reference j'arrive pas à les créés IL me dit 'Ce champ ne peut pas être un champ de reference'
Pourtant j'ai bien fait?
ds PorteSur j'ai créé un nouveau champ, que j'ai indiqué comme reference, puis champclé (prono de PS) Dataset (produit) clé de ref (proNO) champ resultat (prodes), le but etant d'avoir ds PS un champ qui affiche la des du produit en fction du numéro de pro (ki est sur la même ligne et qui sera caché)
Marsh Posté le 08-10-2001 à 08:30:07
AGA a écrit a écrit : pour les clé etrangere, merci j'en ai qq'une (ba oui j'ai mon MCD et mon MLD, voui voui, moa j'analyse aussi ) PArcontre les champs de reference j'arrive pas à les créés IL me dit 'Ce champ ne peut pas être un champ de reference' Pourtant j'ai bien fait? ds PorteSur j'ai créé un nouveau champ, que j'ai indiqué comme reference, puis champclé (prono de PS) Dataset (produit) clé de ref (proNO) champ resultat (prodes), le but etant d'avoir ds PS un champ qui affiche la des du produit en fction du numéro de pro (ki est sur la même ligne et qui sera caché) |
ben programme le à ce moment là : rempli le champ en faisant sur l'événement onchange (par ex) via une reqête sql
Marsh Posté le 08-10-2001 à 08:36:38
Oui, mais le champ reference est fait expres pour; c pas fait pour les cochons (je suis pas contre sql, mais j'ai pas envie en ce moment) bref comment faire un champ de reference? y a un truc que j'ai oublié?
rufo : tu devrais essayé, si ça ce trouve tu apprendrais des trucs ( allez stplait )
Marsh Posté le 08-10-2001 à 08:42:04
Je crois que j'ai trouvé, qd on nomme le champ, en dessous il y a son type à preciser, ds la doc (il me semble) ils disent de mettre type à reference, en fait il faut mettre le bon type ici c'etait un string
Marsh Posté le 08-10-2001 à 09:45:10
Bon, c plus clair mais pas encore au point :
J'ai une fiche avec en entete les infos de l'OP (N°, personne qui prepare) (Table Produit) puis au centre un dbgrid pour les produits attachés à l'OP (Table PorteSur) j'ai une relation Maitre Detail entre la table OP (maitre) et POrteSur (detail)
J'ai ds PS (porteSur) des champs de reference (pour afficher la description du produit, les choix de TVA possible, marche bien)
J'ai un evenement OnNewRecord sur PS qui insere le N° OP ds la table PorteSur,
voila les blem, je ne peux avoir qu'une seul ligne sur mon DBgrid, les champs de reference n'insere rien ds la table, j'aimerais bien qu'une fois le produit choisit son numero soit inserer ds la table PS (comme un LookUpCombo par exemple)
Voila, pour ceux qui voit pas bien le dopo, ds Delphi, demo, db, mastapp -> c ds le même genre
Marsh Posté le 08-10-2001 à 10:21:50
C bon pour les champs de reference, ils inserent bien qqchose (j'avais du code daubé ki empechait les champs de bossés correctement) et j'arrive à avoir plusieurs lignes (il fallait faire flêche bas)
maintenant c les champs calculé...
Les grandes vacances c taboo...
Marsh Posté le 08-10-2001 à 10:47:27
J'avais pas relié le champ au DBgrid (la HONTE)
J'Devrais peut être allez
Marsh Posté le 08-10-2001 à 13:06:05
C encore moa
J'ai maintenant les totaux à calculer; ils seront rattachés à l'opération (champ calculé) mais comment recherché les autres infos (la qte et le punitaire) sont ds la table portesur
je pensais faire une boucle de recherche mais pour ça je doit deplacer le curseur de PorteSur, et c 'est pas bon je croit!
kk'un à une ID??
Marsh Posté le 08-10-2001 à 13:20:19
Un champ agrégat affiche les valeurs issues d'un calcul portant sur un ensemble de données client. Un agrégat est la somme des données contenues dans un ensemble d'enregistrements.
, par contre...
J'arrive pas à faire un champ d'agregat!
Marsh Posté le 08-10-2001 à 14:31:05
Reply
Marsh Posté le 05-10-2001 à 13:53:21
A jsuis keblo comme un bleu
Comment on fait une jointure avec Delphi et des tables paradox ds un datamodule????
---------------
ma vie, ma carrière! - Un trait d’union entre des photos et des mots.