Dbgrid avec informations qui proviennent de tables differentes

Résolu
cs_kam81 Messages postés 114 Date d'inscription dimanche 25 septembre 2005 Statut Membre Dernière intervention 11 février 2009 - 28 sept. 2005 à 19:48
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 - 2 oct. 2005 à 21:52
Est il possible de définir un composant SQL sur plusieurs tables,et puis visualiser les résultats dans un dbgrid?si oui,qu'est ce qu'on doit donner comme valeur dans la propriété datasource de BDE sql ?

2 réponses

cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
2 oct. 2005 à 21:52
La propriété DataSource d'un TQuery va permettre, au composant, de réaliser automatiquement la substitution des paramètres contenus dans la requête.

Pour exécuter une requête multitables, il faut préciser explicitement les noms des tables. Il n'y a aucune substitution automatique dans ce cas.
Exemple :

SELECT I.Nom, A.RUE
FROM Individus I, Adresse A
WHERE I.Id = A.Id

Si le composant TTable ou TQuery renvoyant les données de la table Adresse était déclaré dans la propriété DataSource de l'ensemble de données renvoyant la liste des individus, alors la requête contenue dans ce dernier composant pourrait s'écrire :

SELECT I.Nom, A.Rue
FROM Individus I, Adresse A
WHERE I.Id = :Id

Dans ce cas, le paramètre variable :Id sera remplacé par le champ du même nom (sans le caractère ":") de la table Adresse.

Est-ce un peu plus clair maintenant ?


<HR color=#008000>
Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
3
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
2 oct. 2005 à 08:50
"propriété datasource de BDE sql"...kesako ?
Ca vient de sortir ?

Les composants orientés données ne peuvent recevoir leur contenu à afficher que d'une seule source de données à un instant T.
Si tu veux visualiser les données provenant de plusieurs tables, tu n'as pas d'autre choix que d'alimenter ton TDbGrid avec une requête SQL, autrement dit avec un composant requête (TQuery si tu utilises le BDE).


<HR color=#008000>
Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
0
Rejoignez-nous