06-02-2010, 09:17 PM
- الجزء2 من الدرس العاشر
على الفورم FFactureEtStatistique نمر إلى الصفحة : Consultation des Dettes نعمل عليها لأنها متعلقة بشكل مباشر مع Facture .
* أولا لا ننسى مع كل Query نحدد الخاصية : DataBaseName=GSM
- الآن نحن بحاجة لانشاء جدولين جديدين ، الأول للديون ، و الثاني خاص بوصل الدفع.
لم أذكر هذين الجدولين سابقين ، أولا لعدم الحاجة ، ثانيا لعدم لخبطة الأمور ، لكننا في المرحلة الأخيرة (الدرس ما قبل الأخير) و لن ننشئ بعدهما أي جدول.
أسماء الجداول و الحقول و أنواع الحقول ، مرفقة (Table).
- في Query2 في الخاصية SQL نكتب:
- في Query3 في الخاصية SQL نكتب:
في الخاصية Params للــ Query3 نحدد Code_Clientو نعطيه في DataType القيمة ftString لأنه خاص بحقل نوع نصي.
- نربط DBGrid7 و DBNavigator1 بــ DataSource2
نجعل sEdit17 (الخاصية) : ReadOnly=True.
- في الحدث OnChange للــ sEdit16 :
- نرجع للصفحة Facture و على الضغط للزر sBitBtn1 نكتب :
-كل شيء على مايرام ، المشروع مرفق.
بالتوفيق.
.../ يتبع / ....
على الفورم FFactureEtStatistique نمر إلى الصفحة : Consultation des Dettes نعمل عليها لأنها متعلقة بشكل مباشر مع Facture .
* أولا لا ننسى مع كل Query نحدد الخاصية : DataBaseName=GSM
- الآن نحن بحاجة لانشاء جدولين جديدين ، الأول للديون ، و الثاني خاص بوصل الدفع.
لم أذكر هذين الجدولين سابقين ، أولا لعدم الحاجة ، ثانيا لعدم لخبطة الأمور ، لكننا في المرحلة الأخيرة (الدرس ما قبل الأخير) و لن ننشئ بعدهما أي جدول.
أسماء الجداول و الحقول و أنواع الحقول ، مرفقة (Table).
- في Query2 في الخاصية SQL نكتب:
كود :
SELECT *
FROM Dettes_Clientكود :
SELECT *
FROM Dettes_Client
where Code_Client=:Code_Client- نربط DBGrid7 و DBNavigator1 بــ DataSource2
نجعل sEdit17 (الخاصية) : ReadOnly=True.
- في الحدث OnChange للــ sEdit16 :
كود :
if sEdit16.Text='*' then begin
Query2.Close;
Query3.Close;
(* Majmoo3eDettesTotales *)
RecordPlaceDettesTotales:= Query2.GetBookmark;
MajmoueDettesTotales:=0;
Query2.Active:=true;
Query2.First;
while not Query2.Eof Do
begin
MajmoueDettesTotales:= MajmoueDettesTotales
+Query2.FieldByName('Valeur_reste').AsCurrency;
Query2.Next;
end; sEdit17.text:=CurrToStr(MajmoueDettesTotales);
end else begin
Query2.Close;
Query3.Close;
Query3.ParamByName('Code_Client').Value:=sEdit16.text;
DbGrid6.DataSource:=DataSource3;
Query3.Open;
(* Majmoo3eDettesClient *)
RecordPlaceDettesClient := Query3.GetBookmark;
MajmoueDettesClient:=0;
Query3.First;
while not Query3.Eof Do
begin
MajmoueDettesClient:= MajmoueDettesClient
+Query3.FieldByName('Valeur_reste').AsCurrency;
Query3.Next;
end; sEdit17.text:=CurrToStr(MajmoueDettesClient);
end;كود :
If Not FGSM.Table7.FindKey( [(sEdit1.text)] ) Then begin
FGSM.Table7.Insert;
FGSM.Table7.FieldValues['Code_Client']:=query1.FieldValues['Code_Client'] ;
FGSM.Table7.FieldValues['Code_Com_C']:=query1.FieldValues['Code_Com_C'] ;
FGSM.Table7.FieldValues['N_Fact']:=query1.FieldValues['N_Fact'] ;
FGSM.Table7.FieldValues['Date']:=query1.FieldValues['Date'] ;
FGSM.Table7.FieldValues['Prix_TTC']:=sEdit4.text ;
FGSM.Table7.FieldValues['Valeur_Reste']:=sEdit6.text ;
FGSM.Table7.post;
sBitbtn2.Enabled:=true; ShowMessage('Les données sont enregistrées avec succès');
end else begin if messageDLG
(' Le Mode De Paiment est deja Valider ,Voulez-vous changer ?',
MtConfirmation,[MbYes,MbNo],0)=MrYes
then begin
FGSM.Table7.Edit;
FGSM.Table7.FieldValues['Valeur_Reste']:=sEdit6.text ;
FGSM.Table7.post;
sBitbtn2.Enabled:=true; end;
end;بالتوفيق.
.../ يتبع / ....

