delphi4arab منتديات دلفي للعرب
رسالة خطأ "Field index out of range" - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3)
+--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15)
+--- الموضوع : رسالة خطأ "Field index out of range" (/showthread.php?tid=2169)



رسالة خطأ "Field index out of range" - medreg - 08-07-2010

السلام عليكم ورحمة الله تعالى وبركاته
بعد الخروج من الطباعة تخرج لي هذه الرسالة

[صورة: erreur01.png]


رسالة خطأ "Field index out of range" - Lam.Abdeldjalil - 29-07-2010

و عليكم السلام و رحمة الله وبركاته

تساؤل غامض قليلا ؟

ما نوع القاعدة ؟ الإتصال ؟ محرر التقارير ؟

يمكنك إستخدام Debuger لمعرفة سبب الظهور
إذا لم تعرف ضع السورس ( الجزء المشكوك فيه ) لنرى إن كان بالإمكان تحديد مصدر الخطأ

بالتوفيق


رسالة خطأ "Field index out of range" - medreg - 29-07-2010

هذا هو الكود الذي اعمل به فلترة ومنه انتقل الى طباعة
وعندما اخرج من الطباعة يعطين الخطأ السابق الذكر

PHP كود :
procedure TForm1.CheckBox1Click(Sender: TObject);
begin
If CheckBox1.Checked=true Then
   Begin
     DM
.AbsTable1.Close;
     
DM.AbsTable1.IndexName:='Groupe01';
     
DM.AbsTable1.MasterFields:='GR_CD';
     
DM.AbsTable1.MasterSource:=DM.Datasource3;
     
DM.AbsTable1.Open;
     
DBLookupComboBox1.Enabled:=True;
   
End
Else
   
Begin
     DM
.AbsTable1.Close;
     
DM.AbsTable1.IndexName:='';
     
DM.AbsTable1.MasterFields:='';
     
DM.AbsTable1.MasterSource:=nil;
     
DM.AbsTable1.Open;
     
DBLookupComboBox1.Enabled:=False;
   
End;
end; 



رسالة خطأ "Field index out of range" - Lam.Abdeldjalil - 29-07-2010

لا يبدو لي أي خطأ في الكود
ربما خطأ داخل التقرير

ما نوع محرر التقارير المستعمل ؟

إذا كان فاست ريبورت أو رايف ريبورت أرفق الملف


رسالة خطأ "Field index out of range" - kachwahed - 30-07-2010

السلام عليكم
جرب استبدال هذه:
كود :
DM.AbsTable1.IndexName:='Groupe01'; DM.AbsTable1.MasterFields:='GR_CD'; DM.AbsTable1.MasterSource:=DM.Datasource3;
بهذه:
PHP كود :
DM.AbsTable1.MasterSource:=DM.Datasource3;      
     
DM.AbsTable1.MasterFields:='GR_CD';
     
DM.AbsTable1.IndexName:='Groupe01'; 



رسالة خطأ "Field index out of range" - medreg - 30-07-2010

صباح الخير يا أهل الخير
ومشكورين على تعاونكم معنا
ولكن قد ادركت الخطأ ولم يكن الخطأ في تغيير مكان الأسطر
بل الخطأ كان من عندي
لقد كنت واضع في OnActivate للفورم Form
هذا الكود
PHP كود :
{If CheckBox1.Checked=False Then
DBLookupComboBox1
.Enabled:=False;
 
DM.AbsTable1.Open;
 
DM.AbsTable1.IndexName:='';
 
DM.AbsTable1.MasterFields:='';
 
DM.AbsTable1.MasterSource:=nil;
 
DM.AbsTable1.Next;


 
RadioGroup1.ItemIndex:=0;
 
CheckBox1.Checked:=False; 
وعندما حذفته حلت المشكلة ولم تعد تظهر تلك الرسالة


رسالة خطأ "Field index out of range" - Lam.Abdeldjalil - 30-07-2010

السلام عليكم

تبدو لي بعض الأخطاء أنظر

كود :
{If CheckBox1.Checked=False Then DBLookupComboBox1.Enabled:=False; // DM.AbsTable1.Open;// الفتح ثم وضع الماستر سورس ؟ DM.AbsTable1.IndexName:=''; DM.AbsTable1.MasterFields:=''; DM.AbsTable1.MasterSource:=nil; DM.AbsTable1.Open;// الفتح بعد وضع الماستر سورس و الماستر فيلد // DM.AbsTable1.Next; <- ما الفائدة RadioGroup1.ItemIndex:=0; CheckBox1.Checked:=False;

و السلام عليكم


رسالة خطأ "Field index out of range" - medreg - 30-07-2010

شكرا لقد اعدت الكود كما اشرت علي به وحذفت السطر DM.Abstable1.Open الأولى
ووضعتها بعد السطر DM.Abstable1.Mastersource:=nil;
وحذفت السطر DM.AbsTable1.Next;
لكن دون جدوى
يبدو لي ان الحل في حذف الكود نهائيا من OnActivate
أو بدلا من Open; الأولى وضع Close
وبدلا من Next; وضع Open


رسالة خطأ "Field index out of range" - Lam.Abdeldjalil - 30-07-2010

أولا الحدث OnActivate يطلق عند تنشيط الفورم وفي حالتك هذه يطلق بعد الخروج من التقرير
إستبدله بـ OnShow أو OnCreate إذا كنت تنشأ الفورم ديناميكيا

فقط سؤال ما الذي تستفيده من وضع العلاقة أب-إبن في وقت التنفيذ ؟
أم عندك Dataset أخرى تربط معها ؟

إذا لم تكن هناك أي فائدة ضعها مباشرة ( قبل التنفيذ )


رسالة خطأ "Field index out of range" - medreg - 30-07-2010

لم افهم السؤال
ماذا تقصد بالأب والإبن ومذا تقصد با Dataset اخرى
حسب ما فهمت من سؤالك
لدي عدة جداول مربوطة مع الجدول
Abstable1
الجداول المربوطة معه هي
Abstable2
Abstable1.indexName:=ETAT_01;
Abstable1.MasterField:='ET_CD';
AbsTable3
Abstable1.indexName:=Groupe01;
Abstable1.MasterField:='GR_CD';
AbsTable4
Abstable1.indexName:=POSTE_01;
Abstable1.MasterField:='PT_CD';