عندما اضغط على زر لتنفيذ عملية حسابية تظهر هذه الرسالة ويتوقف عن إتمام عملية الحساب
insufficient memory for this operation
table: G:\compta\bilan.db
علما بأنني استعمل dataModule1و dataModule2و dataModule3و DataModule4
وكل واحدة من الأربعة تحتوي على 19 قاعدة بيانات أي مجموع قواعد البيانات التي يحتوي عليها برنامجي هي 76 قاعدة بيانات و23 فورم
هذه الرسالة تظهر لي في الفورم 23 التي تحتوي على جدول حوصلة كل الحقول الموجودة في كل الجداول والمسمى Table_Recap
عند الضغط يبدأ في العمل إلى أن يصل إلى قاعدة من البيانات ويتوقف عليها بهذه الرسالة التي سبق وان اشرت لها في اعلى الموضوع
الكود المكتوب تحت الحدث الخاص بزر تنفيذ عملية الحساب هو كالآتي :
كود
table_recap.edit;
table_recapMT_BPD.value:=dataModule2.table_bpdMT_A1.value
+ dataModule2.table_bpsMT_A1.value+dataModule2.table_bpnMT_A1.Value;
إلى آخر جدول ثم أضع في الآخر
Table_Recap.post;
table_recapMT_BPD.value:=dataModule2.table_bpdMT_A1.value
+ dataModule2.table_bpsMT_A1.value+dataModule2.table_bpnMT_A1.Value;
إلى آخر جدول ثم أضع في الآخر
Table_Recap.post;
حاولت غلق كل الجداول ذاي كل فورم وضعت فيها مثل هذا الكود
لكل جدول في DataModule وضعت في الحدث
كود
procedure TDataModule1.Table_artAfterDelete(DataSet: TDataSet);
begin
DbiSaveChanges(Table_art.handle);
end;
procedure TDataModule1.Table_artAfterEdit(DataSet: TDataSet);
begin
DbiSaveChanges(Table_art.handle);
end;
procedure TDataModule1.Table_artAfterPost(DataSet: TDataSet);
begin
DbiSaveChanges(Table_art.handle);
end;
procedure TDataModule1.Table_artAfterClose(DataSet: TDataSet);
begin
DbiSaveChanges(Table_art.handle);
end;
procedure TDataModule1.Table_artBeforeClose(DataSet: TDataSet);
begin
DbiSaveChanges(Table_art.handle);
end;
procedure TDataModule1.Table_artBeforePost(DataSet: TDataSet);
begin
DbiSaveChanges(Table_art.handle);
end;
begin
DbiSaveChanges(Table_art.handle);
end;
procedure TDataModule1.Table_artAfterEdit(DataSet: TDataSet);
begin
DbiSaveChanges(Table_art.handle);
end;
procedure TDataModule1.Table_artAfterPost(DataSet: TDataSet);
begin
DbiSaveChanges(Table_art.handle);
end;
procedure TDataModule1.Table_artAfterClose(DataSet: TDataSet);
begin
DbiSaveChanges(Table_art.handle);
end;
procedure TDataModule1.Table_artBeforeClose(DataSet: TDataSet);
begin
DbiSaveChanges(Table_art.handle);
end;
procedure TDataModule1.Table_artBeforePost(DataSet: TDataSet);
begin
DbiSaveChanges(Table_art.handle);
end;
في الحدث OnShow
كود
procedure TForm1.FormShow(Sender: TObject);
begin
with dataModule1 do begin
table_art.Open;
end;
with dataModule2 do begin
table_bpd.open;
end;
with dataModule3 do begin
table_bpr.Open;
end;
with dataModule4 do begin
table_cal.Open;
end;
begin
with dataModule1 do begin
table_art.Open;
end;
with dataModule2 do begin
table_bpd.open;
end;
with dataModule3 do begin
table_bpr.Open;
end;
with dataModule4 do begin
table_cal.Open;
end;
ثم في الحدث OnClose
كود
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
with dataModule1 do begin
table_art.Close;
end;
with dataModule2 do begin
table_bpd.Close;
end;
with dataModule3 do begin
table_bpr.Close;
end;
with dataModule4 do begin
table_cal.Close;
end;
begin
with dataModule1 do begin
table_art.Close;
end;
with dataModule2 do begin
table_bpd.Close;
end;
with dataModule3 do begin
table_bpr.Close;
end;
with dataModule4 do begin
table_cal.Close;
end;
أرجو إن كان هنا حل لهذه المشكلة افيدونا به وجزاكم الله عنا كل خير
