DBGRID a Plusieurs tables

Signaler
Messages postés
21
Date d'inscription
mercredi 25 octobre 2006
Statut
Membre
Dernière intervention
19 avril 2008
-
Messages postés
10
Date d'inscription
mercredi 11 février 2009
Statut
Membre
Dernière intervention
27 mars 2009
-
bonjour tout le monde ,
voila je suis un petit debutant sur delphi , je suis entrain de developper un application de bases de données (g choisis paradox juste pour un debut).
je voullais saisir des donner de plusieur base de donner mais sur un meme DBgride,
primo : je ne sais pas si c fesable
si c fesable comment ?
si c non , coment faire alors ?
merci pour votre aide.
on est toujour entrain d'apprendre.

16 réponses

Messages postés
2106
Date d'inscription
mardi 10 décembre 2002
Statut
Modérateur
Dernière intervention
15 décembre 2014
5
Salut,

la mauvaise nouvelle: un Dataset para DBGrid!

la bonne nouvelle: je ne sais pas ce que tu veux faire mais avec de l' imagination, tu peux faire ce que tu veux.
Sans savoir ce que tu prétends faire, tu peux utiliser un ClienDataset qui contiendrait les données de tes tables.
Tu devras gérer ensuite l' actualisation de tes tables réelles.

A+
Messages postés
256
Date d'inscription
mercredi 5 septembre 2007
Statut
Membre
Dernière intervention
6 janvier 2011

Bonne chance et bonne prog ;-).

HAFTARI Fouad
Messages postés
21
Date d'inscription
mercredi 25 octobre 2006
Statut
Membre
Dernière intervention
19 avril 2008

bonjour tt le monde
merci pour vos orientations , pour vous eclaircire un peut :
le query ne sauvgarde pas les donnée , il sert a les afficher non ? et moi ce que je veut c de saisir les données et les stocker .(haftarifouad).

(mauricio): je t'explique :

le travail c'est de gerer les operations de maintenance :
dans une intervention on consomme de la piece de rechange
donnc intervention------consomme-----pieces de rechange
et si tu vois un peut "consomme" deviendera une table avec les deux clés des deux autre table
et moi dans ma saisie j'ai besoin d'un dbgrid qui m'affiche les info des pience consommées , donc j'ai besoin des information de la table piece.

on est toujour entrain d'apprendre.
Messages postés
21
Date d'inscription
mercredi 25 octobre 2006
Statut
Membre
Dernière intervention
19 avril 2008

dacc Mauricio

je vais essayer , ca me parrait une bonne idée qui ma echapé je reconnait , mais bon , je te dirrait si ca a marché ! merci encore

ah ! autre chose :

pour calculer un temps ecouler par exemple date de debute 05/03/2008 /heure de debut 08:00 et date fin 06/03/2008 et heure fin 10:30

comment calculer ce temps ecouler ?
merci encore

on est toujour entrain d'apprendre.
Messages postés
2106
Date d'inscription
mardi 10 décembre 2002
Statut
Modérateur
Dernière intervention
15 décembre 2014
5
Il y a des sources qui te montrent comment faire je crois.
Au cas oú, poste une question sur le forum!
A+
Messages postés
4719
Date d'inscription
dimanche 26 février 2006
Statut
Modérateur
Dernière intervention
1 février 2021
14
pour lier les deux grids, il faut lier les query de cette manière :

Table : PERE
QueryPere ->>>>cléprimaire CODEPERE
SQL : select * from PERE

Table : FILS
QueryFils ->>>>cléprimaire CODEFILS
SQL : select * from FILS
          where FILS.CODEPERE=:CODEPERE  

ainsi lors du déplacement sur le premier grid, les enregistrements liés sur le deuxième défilent.

cantador
Messages postés
21
Date d'inscription
mercredi 25 octobre 2006
Statut
Membre
Dernière intervention
19 avril 2008

merci pour vos reponses , mais je vous ai dis que je ne veux pas faire ca pour une consultation , donc je ne peut pas utiliser un query !

on est toujour entrain d'apprendre.
Messages postés
21
Date d'inscription
mercredi 25 octobre 2006
Statut
Membre
Dernière intervention
19 avril 2008

merci alex,
je passes a l'essai , et aux prochaine questions
merci encore

on est toujour entrain d'apprendre.
Messages postés
21
Date d'inscription
mercredi 25 octobre 2006
Statut
Membre
Dernière intervention
19 avril 2008

mon app c le suivi de la maintenance; j'ai une table "REPRATION" qui est liée avec la table PIECE DE RECHANGE" avec la relation "necessite"avec la proprieté Prix.U.
dans ce cas la relation necessite devient une table aussi puis ce que les deux clés des tables "reparation" et "piece de rechange" vont migrées dans la table relation .
quand je fais une saisis je dois saisir le num de reparation je doit saisir la piece de rechange consommés avec sa designation et le prix U.
j'ai essayé de trouvé une solution , et ca a marché a moitié dans la saisie le programme bloque a la  3eme  ligne du grid avec le message "violation de clé"
et là je suis completement perdu
alors sauvez moi svp.

comme ca c plus clair je crois donc j'ai toujour besoin de plus de deux tables.
je calere toujour mes amis , sauvez moi svp.

on est toujour entrain d'apprendre.
Messages postés
4719
Date d'inscription
dimanche 26 février 2006
Statut
Modérateur
Dernière intervention
1 février 2021
14
hou hou, il n'y a rien de grave et rien à sauver !


Le problème est que tu as choisis un SGBD merdique au possible et que pour régler ton souci, il faut passer en revue toute une série de manipulations dont on ne sait pas ce que tu en as fait !
Alors, on va régler un bout et çà sera l'autre qui ne sera pas paramétré correctement etc etc..
Les problèmes de relation entre les tables sont assez délicats..
Il y a bcp de choses à mettre au point tant au niveau de la base que des composants avant de dire "ouf çà y est çà marche !"

Sur ce forum, on ne peut être précis que si le demandeur est averti sinon on se contente de donner des pistes à suivre..une simple direction à prendre rien de plus..

Il faut d'abord commencer par le commencement
C'est-à-dire faire l'effort de lire quelques documentations et s'inspirer des exemples qui fourmillent sur ce site et sur d'autres.

Bon courage

cantador
Messages postés
21
Date d'inscription
mercredi 25 octobre 2006
Statut
Membre
Dernière intervention
19 avril 2008

merci pour la contribution contador, je veux quand meme preciser que je suis certe un bleu sure delphi , mais loin de l'etre dans la conception et l'analyse.


le SGBD relationnel se fait ainsi , je ne voullais pas suivre les méthode anarchique ôu metre n'importe quelle propieté dans n'importe quelle table comme font certains.


je pense que ma méthode d'analyse est tres juste , mon souci est que je ne sais pas comment l'appliquer sur delphi , voila tout


peut etre que j'ai mal choisis le composant , alors si vous avez une autre idées j'en serai tres ravi.


merci encore , j'attend vos reponses

on est toujour entrain d'apprendre.
Messages postés
4719
Date d'inscription
dimanche 26 février 2006
Statut
Modérateur
Dernière intervention
1 février 2021
14
Si tu veux faire des progrès, change de SGBD car de toutes façons tu n'iras pas très loin avec paradox + BDE..
Mais c'est vrai aussi que si tu évolues, il faudra prévoir un petit budget car certains composants ou autres logiciels ne sont pas donnés.

cantador
Messages postés
21
Date d'inscription
mercredi 25 octobre 2006
Statut
Membre
Dernière intervention
19 avril 2008

merci pour le consiel contador, je sais que paradox a tendance a disparaitre, mais comme je n'arrete pas de la repeter je suis nouveau sur delphi, j'utilise des base de données simple et quand je metrise un peut je me lance avec d'autre bases p^lus performante.
mais ton consiel que j'aprecis beaucoup na pas regler mon probleme , et meme si je change de table ca reste toujour un peubleme .

on est toujour entrain d'apprendre.
Messages postés
10
Date d'inscription
mercredi 11 février 2009
Statut
Membre
Dernière intervention
27 mars 2009

Messages postés
10
Date d'inscription
mercredi 11 février 2009
Statut
Membre
Dernière intervention
27 mars 2009

Afin d'avoir un composant DBGrid qui affiche toutes les données d'une table plus un libellé en clair provenant d'une autre table, nous allons nous appuyer sur un clientDataSet.

Dans un premier temps, créez tous les champs de votre table de base. Ensuite ajoutez dans votre Dataset un nouveau champ (double clic sur le ClientDataSet, clic droit > Nouveau champ)

Les zones nom, type et taille du champ sont à remplir comme pour un champ classique. Ce qui va changer c'est la zone "Type de champ" on va cocher ici Référence. Un champ référence fonctionne exactement comme un DBLookUpComboBox, il affiche le libellé d'une autre table en se basant sur un index de la table en cours faisant le lien.

<table class="tableau" style="MARGIN: 0px auto; TEXT-ALIGN: left" cellspacing="0" width="80%" border="1">

----

Description des champs |
Définiton de la référence |

----,
Champs clé
</td>
C'est le champ dans la table en cours qui fera le lien vers l'autre table.,

----

Ensemble de données,
C'est la table contenant les libellés qu'on veut afficher.,

----

Clés de référence,
C'est le champ qui fera le lien avec « Champs clé » qu'on a choisit avant.,

----

Champ résultat,
C'est le champ libellé que l'on veut afficher dans notre DBGrid.



</td>
</tr>
</tbody>
</table>
Bientôt en Ligne !
Messages postés
10
Date d'inscription
mercredi 11 février 2009
Statut
Membre
Dernière intervention
27 mars 2009

"se basant sur un index de la table en cours faisant le lien."
par cette phrase, il voulait dire :
Dans ta table dans laquelle tu veut afficher les données d'une autre table, tu crée une CLEF ETRANGERE qui pointe vers la CLEF PRIMAIRE de la table delaquelle tu veut prendre les données a afficher c'est cette CLEF ETRANGERE qui est l'index a metter dans CHAMP DE REFERENCE
Bientôt en Ligne !