06-04-2020, 04:38 PM
السلام عليكم اتمنى لكم السلامة في زمن الكورونا و ارجو من الله ان يرفع عنا البلاء
لدي برنامج به عدة جداول بقاعدة الفايربيرد
وعندما اريد ادخال معطيات من الجدول 1 الى الجدول 2 و لهم نفس اسماء الحقول بخاصية التحديث ان وجد التاريخ في الجدول الثاني او ادخال البيانات في الجدول الثاني عند عدم وجود التاريخ المراد ادخاله
وقمت بمحاولة لكن الاجراء يقوم بادخال بيانات جديدة على الرغم من وجود التاريخ اي يقوم بعملية التكرار اجو منكم تصحيح الخلل و الاجراء هو كما يلي
لدي برنامج به عدة جداول بقاعدة الفايربيرد
وعندما اريد ادخال معطيات من الجدول 1 الى الجدول 2 و لهم نفس اسماء الحقول بخاصية التحديث ان وجد التاريخ في الجدول الثاني او ادخال البيانات في الجدول الثاني عند عدم وجود التاريخ المراد ادخاله
وقمت بمحاولة لكن الاجراء يقوم بادخال بيانات جديدة على الرغم من وجود التاريخ اي يقوم بعملية التكرار اجو منكم تصحيح الخلل و الاجراء هو كما يلي
PHP كود :
var
o,n:integer;
begin
dm.QuMois.Close;
dm.QuMois.SQL.Clear;
dm.QuMois.SQL.Add('select * from FMOIS ');
dm.QuMois.SQL.Add('where DATE_JOURNNEE=:D1');
dm.QuMois.paramByName('D1').AsDate := StrToDate(MaskEdit5.text);
dm.QuMois.Open;
n:=dm.QuMois.RecordCount;
edit4.Text:=inttostr(dm.QuMois.RecordCount);
if n=0 then
begin
//////////////////////INSERT/////////////
dm.QuMois.Close;
dm.QuMois.SQL.Clear;
dm.QuMois.SQL.Add('INSERT INTO FMOIS (EDITE,DATE_JOURNNEE,APPLICATION, MONTANT_BANCAIRE, MONTANT_CCP,MONTANT_NUMERAIRE,TOTAL)');
dm.QuMois.SQL.Add('select EDITE,:datejoure, sum(APPLICATION)as APPLICATION , sum(MONTANT_BANCAIRE)as MONTANT_BANCAIRE , sum(MONTANT_CCP)as MONTANT_CCP , sum(MONTANT_NUMERAIRE)as MONTANT_NUMERAIRE,sum(APPLICATION+MONTANT_BANCAIRE+MONTANT_CCP+MONTANT_NUMERAIRE)as TOTAL');
dm.QuMois.SQL.Add('from TJOUR where DATE_JOURNNEE>=:D1 AND DATE_JOURNNEE<=:D2 ');
dm.QuMois.paramByName('D1').AsDate := StrToDate(form6.MaskEdit4.text);
dm.QuMois.paramByName('D2').AsDate := StrToDate(form6.MaskEdit5.text);
dm.QuMois.paramByName('datejoure').AsDate := StrToDate(form6.MaskEdit5.text);
dm.QuMois.SQL.Add('Group By EDITE,DATE_JOURNNEE');
dm.QuMois.ExecSQL;
dm.QuMois.Open;
showmessage('RecordCount ajout');
dm.FMOIS.Refresh;
edit6.Text:=inttostr(dm.FMOIS.RecordCount);
end;
//////////////update///////////////
o:=dm.QuMois.RecordCount;
edit5.Text:=inttostr(dm.QuMois.RecordCount);
if o>=1 then
begin
dm.QuMois.Close;
dm.QuMois.SQL.Clear;
dm.QuMois.SQL.Add('UPDATE FMOIS SET (EDITE,APPLICATION, MONTANT_BANCAIRE, MONTANT_CCP,MONTANT_NUMERAIRE,TOTAL)');
dm.QuMois.SQL.Add('select EDITE, sum(APPLICATION)as APPLICATION , sum(MONTANT_BANCAIRE)as MONTANT_BANCAIRE , sum(MONTANT_CCP)as MONTANT_CCP , sum(MONTANT_NUMERAIRE)as MONTANT_NUMERAIRE,sum(APPLICATION+MONTANT_BANCAIRE+MONTANT_CCP+MONTANT_NUMERAIRE)as TOTAL');
dm.QuMois.SQL.Add('from TJOUR where DATE_JOURNNEE>=:D1 AND DATE_JOURNNEE<=:D2');
dm.QuMois.paramByName('D1').AsDate := StrToDate(form6.MaskEdit4.text);
dm.QuMois.paramByName('D2').AsDate := StrToDate(form6.MaskEdit5.text);
dm.QuMois.SQL.Add('Group By EDITE');
showmessage('RecordCount update');
dm.FMOIS.Refresh;
edit6.Text:=inttostr(dm.FMOIS.RecordCount);
end;
end;