delphi4arab منتديات دلفي للعرب
الاستعلام عن دين زبون - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3)
+--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15)
+--- الموضوع : الاستعلام عن دين زبون (/showthread.php?tid=11537)

الصفحات: 1 2


الاستعلام عن دين زبون - AgroSoft - 03-10-2021

السلام عليكم
استفسار حول استعلام sql في adoquery لكي تظهر لك balance بين حقلي الدين و الدفع لزبون واحد هذا ما تطرقت له بعد تجربة عديدة لكن هي تظهر لكل الزبائن فما اريده هو لزبون واحد

كود :
ADOQuery1.Filter := 'TRC_IDClient = ' + QuotedStr('3'); ADOQuery1.Filtered := True; ADOQuery1.SQL.Clear; ADOQuery1.SQL.Add('SELECT a.TRC_ID,a.TRC_Date, a.TRC_Credit,a.TRC_Versement,a.TRC_IDClient, (SELECT SUM(b.TRC_Credit - b.TRC_Versement) FROM TRClient b WHERE b.TRC_ID <= a.TRC_ID) AS TRC_Balance FROM TRClient a ORDER BY a.TRC_Date;'); ADOQuery1.Open;

استخدمة الفلترة العادية ثم الحساب لكن يظهر به خطئ او لا تظهر اي نتيجة هل من حل؟


RE: الاستعلام عن دين زبون - ferrero - 04-10-2021

لو تم ارفاق اسماء وبنية الجداول لكان الرد دقيق .. ولكن على حسب مافهت يمكن الاستعلام على النحو التالي:
كود :
SELECT TableName1.TRC_ID, TableName1.TRC_Date, SUM(TableName2.TRC_Credit - TableName2.TRC_Versement) as TRC_Balance FROM TableName1, TableName2 WHERE TableName2.TRC_ID = TableName1.TRC_ID GROUP BY TableName1.TRC_ClientName



RE: الاستعلام عن دين زبون - AgroSoft - 04-10-2021

(04-10-2021, 09:04 AM)ferrero كتب : لو تم ارفاق اسماء وبنية الجداول لكان الرد دقيق ..
كل البيانات موجودة في جدول واحد اسمه TR_Client وليس جدولين فما اريد هو ان احصل على balance لـ زبون الذي TRC_IDClient يساوي 1 يعني يظهر لي فقط حركة زبون 1


RE: الاستعلام عن دين زبون - ferrero - 04-10-2021

كود :
... ADOQuery1.SQL.Add('SELECT * FROM TRClient');
كود :
...
كود :
إنشئ حقل جديد (TRC_Balance) calculated field
كود :
procedure ... ADOQuery1CalcFields ...
كود :
-------------------------------------
كود :
ADOQuery1.FieldByName('TRC_Balance').Value := ADOQuery1.FieldByName('TRC_Credit').Value - ADOQuery1.FieldByName('TRC_Versement').Value;



RE: الاستعلام عن دين زبون - Mr.DOS - 04-10-2021

سلام عليكم
ارفق لنا صورة لتصميم الجدول فقط .


RE: الاستعلام عن دين زبون - AgroSoft - 04-10-2021

(04-10-2021, 11:04 PM)Mr.DOS كتب : ارفق لنا صورة لتصميم الجدول فقط .
هذا مثال مع تصميم الجدول لزبونين بالمرفقات و ما اريده هو اظهار لكل زبون لوحده اسم الجدول TR_Client

(04-10-2021, 06:42 PM)ferrero كتب : ADOQuery1.SQL.Add('SELECT * FROM TRClient');

شكرا على المداخلة لكن صدقا لم افهم شيء المهم الجدول في المرفق فوق لكي توضح لك الصورة


RE: الاستعلام عن دين زبون - ferrero - 05-10-2021

[صورة: 1sCNPGK.jpg]


RE: الاستعلام عن دين زبون - AgroSoft - 05-10-2021

(05-10-2021, 09:48 AM)ferrero كتب : [صورة: 1sCNPGK.jpg]

شكرا على التدخل لكن ما اريده ان يظهر لي الفارق لكل صف لحاله يعني كل تاريخ يعطيني كم بقي بحسابه وليس مجموع كل الصفوف


RE: الاستعلام عن دين زبون - ALG2009 - 06-10-2021

وعليكم السلام
أظن أن ferrero قد أجابك

كود :
SELECT TRC_Credit,TRC_Versemet,TRC_Client,SUM(TRC_Credit - TRC_Versement) as TRC_Balance FROM TRC_Client Where TRC_Client=1



RE: الاستعلام عن دين زبون - AgroSoft - 06-10-2021

(06-10-2021, 12:24 AM)ALG2009 كتب : أظن أن ferrero قد أجابك
لم ينجح معي و الناتج الذي اريده ان يظهر مبين في المرفق حتى تفهموا قصدي جيدا ..