|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||||
|
Futur Membre du Club
![]() |
ola tout le monde!
j'ai une application delphi7 avec sgbd sql serveur connécté en ODBC et utilisant des composant ADO mon probleme porte sur 2 table dans ma bdd,commande et lignedecommande je suis entrein de créé un masque de saisie pour une commande, le masque doit pouvoir inseré dans la base un client avec plusieur porduits commandé par ce dernier maintenant le code que j'a réalisé pour inseré une nouvelle commande j'ai utilisé le composant ADOQuery comme suit Code :
pour inseré la nouvelle clé de commande dans la table lignedecommande j'ai bidouillé comme suit Code :
ici DBedit4 est le champ codcommande alimenté par la une ADOquery avec la requette maintenant quand je regarde dans ma bdd tout est inséré correctement, le problem c'est que j 'arrive pas a affiché les porduit lié a ma commande directement apres l'insertion ou la j 'utilise 2 adoquery en maitre detail avec respectivement les requetes suivantes et Code :
que j'ai délesté , j 'ésper que j 'ai pas enfrein les regles du forum , mon attention etait d'etre plus claire sans plus cordialment NapZ .. ter |
||||||
|
|
00
|
|
|
#2 | ||
![]() ![]() |
Tu execute cette erquete dans l'evenement AfterScroll de ta table maitre
Code :
__________________
je ne répondrai à aucune question technique envoyé par MP. j'aime pas les navets et les messages avec du code sans les balises #. Stop au langage SMS. Mon projet open sources: eMySQLAdmin Visitez mon blog-Mes articles |
||
|
00
|
|
|
#3 | ||
|
Futur Membre du Club
![]() |
rien ne ce passe , ya pas d'erreur bd ou a la compilation
mon code : Code :
|
||
|
|
00
|
|
|
#4 | |||
![]() ![]() Evaris NGOUZOIngénieur intégration Inscription : juin 2005 Messages : 1 958 ![]() |
![]() voyons voir, je suppose que tes 2 tables ont cette structure : T_Commande( com_num, com_date, com_client, ...); T_Details(det_num, #det_com_num, det_produit, det_qte, det_pu, ...); ce que je fais souvent dans ce genre de situation c'est d'utiliser les relations maitre-esclave. soit 2 composants query, 2 composants datasource : AdoQuery1 SQL = select * from T_Commande; AdoQuery2 SQL = select * from T_Details where det_com_num = :com_num; MasterSource = Datasource1 Datasource1 Dataset = AdoQuery1 Datasource2 Dataset = AdoQuery2 avec une structure semblable et un peu de code ( pour définir le numéro de la commande lors de l'insertion d'un produit ) ca devrait marcher. l'actualisation des données est faites automatiquement. lorsque tu te déplace entre les enregistrements des commandes les détails s'affichent automatiquement. Citation:
__________________
[D2010] Connexion à Firebird via dbExpress Guide du développeur delphi devant un problème
|
|||
|
|
00
|
|
|
#5 | |||
|
Membre Expert
![]() said Développeur Delphi/c++/Omnis Inscription : décembre 2003 Messages : 1 789 ![]() |
par hazar, il n'y a pas un erreur ici:
Citation:
que : SQL = select * from T_Details , sans where det_com_num = :com_num; si tu laisse cette ligne antier alors tu fait ce que ta dit aityahia, dans afterscroll, bien sûr ADOQuery5 maitre et ADOQuery4 détail Code :
__________________
PAS DE DESTIN, C'EST CE QUE NOUS FAISONS |
|||
|
|
00
|
|
|
#6 |
![]() ![]() Evaris NGOUZOIngénieur intégration Inscription : juin 2005 Messages : 1 958 ![]() |
@edam
la requête est bonne pour la fonctionnalité que j'ai expliquée. voilà une source qui montre cela : master-detail.rar
__________________
[D2010] Connexion à Firebird via dbExpress Guide du développeur delphi devant un problème
|
|
|
00
|
|
|
#7 | ||
|
Futur Membre du Club
![]() |
merci infiniment evarisnea pour la source, et si ce n'est pas abusé pourez tu m'éxpliqué ce bout de code
Code :
cordialement NaPz |
||
|
|
00
|
|
|
#8 |
![]() ![]() |
la propreiété state renvoie l'etat actuel de votre table si elle en mode edition alors vous effectuez un post
__________________
je ne répondrai à aucune question technique envoyé par MP. j'aime pas les navets et les messages avec du code sans les balises #. Stop au langage SMS. Mon projet open sources: eMySQLAdmin Visitez mon blog-Mes articles |
|
00
|
|
|
#9 | |
![]() ![]() Evaris NGOUZOIngénieur intégration Inscription : juin 2005 Messages : 1 958 ![]() |
Citation:
j'ai mis cette vérification car si tu commences à saisir une nouvelle commande et que tu ne l'enregistres pas avant d'essayer d'ajouter les détails, tu risques d'avoir un problème pour lier les détails de la commande à cette commande. alors, à chaque fois que tu "entres" dans le DBGrid, on vérifie si la commande est enregistrée.
__________________
[D2010] Connexion à Firebird via dbExpress Guide du développeur delphi devant un problème
|
|
|
|
00
|
|
|
#10 |
|
Invité de passage
![]() retraité Inscription : octobre 2011 Messages : 87 ![]() |
Merci pour cet exemple que je trouve simple et m'aide beaucoup, mais comment y rajouter une table (adoquery) comment les lier toutes svp
donc 03 adoquery (tables) sous access 2007. merci encore |
|
|
00
|
Copyright © 2000-2013 - www.developpez.com