فلترة جدول ب ID جدول اخر - نسخ قيمة CELL لاخرى
#11
(07-09-2019, 03:59 PM)larbiparadox كتب : * بالنسبة للسؤال الاول :  لكن ألا يمكن ان تكون قيمة i ظاهرة في حقل id_f بدل ظهورها في dbedit وذلك في حدث beforInsert
- الجواب : بالنسبة لـ  DbGrid1 إستبدل DBEdit1.Text := intTOstr(i)  بـ  DBGrid1.DataSource.DataSet.FieldByName('id_r').Value  := intTOstr(i)

بارك الله في اخي الكريم العربي برادوكس
بعد إذنك ايمكننا العمل على المرفق المرفق . لانه لا أريد اية dbedit سنتعامل مع الdbgrid  مباشرة . لانه بعد التعديل عندما اضغط ور السهم السفلي تنفتح سجلات كثيييرة

وكذلك يمكن تعديل هذا الكود ليعمل مع dbgrid دون dbedit

كود :
if Copy(DBEdit4.Text, 1, 3) <>  Copy(DBEdit3.Text, 1, 3) then begin
       showmessage('ID_R   <>  Id_f !!!! ,  Id_f = '+ DBEdit4.Text);
       Abort;
    end;

    if DBEdit4.Text =  DBEdit3.Text  then begin
       showmessage('ID_R   =  Id_f ');
       Abort;
    end;

وجزاك الله كل خير
وغداً القاك بخير ان شاء الله


الملفات المرفقة
.rar   o_test.rar (الحجم : 553.86 ك ب / التحميلات : 5)
الرد
#12
تم التعديل


الملفات المرفقة
.rar   Prog Absolute Database3.rar (الحجم : 553.43 ك ب / التحميلات : 10)
[-] كل من 1 user says قال شكرا ل larbiparadox على المشاركة المفيدة
  • samnaj00
الرد
#13
جزاك الله خيرا اخي الكريم
جرب واضغط على الزر السفلي للكيبورد ستجد انه انشأ عدة جدال دفعة واحد !!!!!

- لمنع تكرار قيمة id_f جعلت الحقل unique لعدم التكرار لكن اريد ان تظهر لي رسالة(غير التي تظهر في الدلفي) تفيدني بتكرار القيمة ( بحث وجربت فلم افلح)
الرد
#14
(09-09-2019, 02:45 PM)samnaj00 كتب : جزاك الله خيرا اخي الكريم
جرب واضغط على الزر السفلي للكيبورد ستجد انه انشأ عدة جدال دفعة واحد !!!!!

- لمنع تكرار قيمة id_f جعلت الحقل unique لعدم التكرار لكن اريد ان تظهر لي رسالة(غير التي تظهر في الدلفي) تفيدني بتكرار القيمة ( بحث وجربت فلم افلح)
متى تظهر الرسالة ؟؟
[-] كل من 1 user says قال شكرا ل larbiparadox على المشاركة المفيدة
  • samnaj00
الرد
#15
(09-09-2019, 03:13 PM)larbiparadox كتب : متى تظهر الرسالة ؟؟

تظهر عندما تكتب نفس الرقم في id_f ثم الخروج من الحقل

عندما تكرر رقماً في id_f
الرد
#16
[صورة: 605392114.png]

يمكنك استعمال showmessage بدلا من MessageDlg هذه الاخيرة يمكنك تغيير اقونة الاشعار بتغيير mtError

mtWarning
mtError
mtInformation
mtConfirmation
mtCustom
[-] كل من 1 user says قال شكرا ل larbiparadox على المشاركة المفيدة
  • samnaj00
الرد
#17
بارك الله فيك
هذه الرسالة تظهر مع الملف التنفيذي فقط ولا تظهر مع run داخل الدلفي (وهذه ليست مشكلة ان شاء الله)

(09-09-2019, 02:45 PM)samnaj00 كتب : جرب واضغط على الزر السفلي للكيبورد ستجد انه انشأ عدة جدال دفعة واحد !!!!!

وهذه المشكلة؟؟؟؟؟
الرد
#18
ارسل المثال الذي تعمل عليه
الرد
#19
الملف في المرفقات


الملفات المرفقة
.rar   o_test.rar (الحجم : 555.75 ك ب / التحميلات : 4)
الرد
#20
اضفت CheckBox1 للتعديل او عدم التعديل على DETILABSTable2
واضف الكود في عدة احداث للجدول او للـ dbgrid فلم يعمل

if form1.CheckBox1.Checked = false then
begin
showmessage('عليك تأكيد التعديل');
end
else
form1.DETILDataSource2.AutoEdit:=true

الفكرة هي عند التعديل مباشرة لاي حقل تظهر رسالة بتأكيد التعديل . ولا يمكن التعديل الا بالضغط على CheckBox1
الرد


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم