30-01-2010, 01:11 PM
كود :
if sEdit1.text<>'' then If sEdit2.text<>'' then
if sEdit1.text<>FloatToStr(0) then if sEdit2.text<>FloatToStr(0)
then if sEdit3.text<>'' then If dblookupcombobox1.text<>'' then
if dblookupcombobox3.text<>'' then begin
Table6.Last;
table2.edit;
Table2.FieldValues['N_Fact']:=Table6.FieldValues['N_Facture'];
Table2.FieldValues['Code_Prod']:=DBLookupComboBox1.Text;
Table2.FieldValues['Des_Prod']:=DBLookupComboBox2.Text;
Table2.FieldValues['Qut']:=sEdit1.Text;
Table2.FieldValues['Prix_U']:=sEdit2.Text;
Table2.FieldValues['Prix_T']:=sEdit3.Text;
Table2.FieldValues['TVA']:=sEdit4.Text;
Table2.FieldValues['Prix_TTC']:=strtofloat(sEdit5.Text);
Table2.FieldValues['Code_Client']:=DBLookupComboBox3.Text;
Table2.FieldValues['Code_Com_C']:=DBLookupComboBox4.Text;
Table2.FieldValues['Date']:=DateTimePicker1.DateTime;
Table2.Post;
Table6.Edit;
Table6.FieldValues['Code_Client']:=DBLookupComboBox3.Text;
Table6.FieldValues['Code_Com_C']:=DBLookupComboBox4.Text;
Table6.FieldValues['Date_facture']:=DateTimePicker1.DateTime;
Table6.Post;
Table1.edit;
table1.FieldValues['Qut']:=Table1.FieldValues['Qut']-strtofloat(sEdit1.Text);
Table1.Post;
if table1.FieldValues['Seuil_Qut']>=Table1.FieldValues['Qut'] then
begin showmessage (' La Quantité de ce produit est Diminue En Dessous...'); end;
sBitBtn1.Enabled:=True;
sBitBtn2.Enabled:=True;
sBitBtn3.Enabled:=False;
sBitBtn4.Enabled:=True;
sBitBtn5.Enabled:=True;
sBitBtn6.Enabled:=True;
sBitBtn7.Enabled:=False;
sBitBtn8.Enabled:=False;
Filtrage1.Enabled:=true; // Fiche facture et Statistique
Vente1.Enabled:=true; // Fiche Vente
DblookupCombobox1.ReadOnly:=True; DblookupCombobox2.ReadOnly:=True;
DblookupCombobox3.ReadOnly:=True; DblookupCombobox4.ReadOnly:=True;
end;
begin
if (Dblookupcombobox1.Text='') Or (Dblookupcombobox3.Text='') Or
(sEdit1.Text='') Or (sEdit2.Text='')
then begin ShowMessage ('Compliter tous les champs'); end;
if (sEdit1.Text=FloatToStr(0)) Or (sEdit2.Text=FloatToStr(0))then begin
ShowMessage ('Valeur Impossible') ; sEdit2.SetFocus; end;
end;
if not table1.IsEmpty then begin
sBitBtn9.Enabled:=true; sBitBtn10.Enabled:=true; sBitBtn11.Enabled:=true;
sBitBtn12.Enabled:=true; sBitBtn5.Enabled:=true; end;
end;نحرر :
كود :
if not table2.IsEmpty then begin
if MessageDLG
('êtes vous sûr de vouloir suprimer l''enregistrement ?'
, MtConfirmation,[MbYes,MbNo],0)=MrYes then
Table2.Delete; end;
if table2.IsEmpty then begin
sBitBtn2.Enabled:=False; sBitBtn3.Enabled:=False;
sBitBtn4.Enabled:=False; sBitBtn5.Enabled:=False;
sBitBtn6.Enabled:=False; sBitBtn7.Enabled:=False;
sBitBtn8.Enabled:=False; sBitBtn9.Enabled:=False;
sBitBtn10.Enabled:=False; sBitBtn11.Enabled:=False;
sBitBtn12.Enabled:=False;
end;نحرر :
كود :
table2.Cancel;نحرر :
كود :
table2.Next;
sLabel2.Caption:=Table2.Fieldbyname('N_Fact').AsString +' /'+
formatdatetime('yyyy',Table2.Fieldbyname('date').AsDateTime);
sEdit1.Text:=Table2.FieldValues['Qut'];
sEdit2.Text:=Table2.FieldValues['Prix_U'];
sEdit4.Text:=Table2.FieldValues['TVA'];
DateTimePicker1.DateTime:=Table2.FieldValues['Date'];نحرر نفس الكود فقط استبدال Next بــ : Prior
الزر Début :
نحرر نفس الكود فقط استبدال Next بــ : First
الزر Fin :
نحرر نفس الكود فقط استبدال Next بــ : Last
للتنفيد و للتجريب قم أولا باعطاء قيم متعدد على الجدول Produit ، مع الإشارة إلى عدم تكرار نفس القيمة في الحقل المفهرس. بعد ذلك قم بتجريب كل ما تم برمجته و لاحظ و قارن و تمعن و ابحث فيما إذا كان هناك خطأ أو إشكالية .
ننبه على وجود أمرين هامين أو إشكاليتين بخصوص الكمية بين الجدولين Produit و Vente ، تشملهما البرمجة في زر Suprimer و sEdit1 لاحقا ، المطلوب منك بعد هذا التبسيط البحث و الطرح ، و لنــا عودة لاكمال مشوارنا هذا إن شاء الله عز و جل.
ملاحظة: ليكون كل شيء على مايرام و تظهر Checked في القائمة الخاصة بــ Tva لابد أن يكون مسار السكين (الخاصية SkinDirectory) صحيحا .
بالتوفيق.
.../ يتبــع / .....

