الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

تساؤلات في ال DBGrid

مغلق
بدأه Hussin_za في 19 أكتوبر 2004 · 2 رد · 661 مشاهدة · في لغة Delphi
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

أنشأت DBGrid لعرض بيانات الحضور والانصراف من جدول Attendance وعندي فيه مسائل :

1 - قمت في جدول Attendance بإضافة حقل جديد هو Sum من نوع calculated وهذا الحقل غير موجود في قاعدة البيانات للجدول ولكن لعرض مجموع التأخير الصباحي والمسائي واستطعت في DBGrid مع حدث KeyPress كتابة الكود التالي

If Key=#13 then

If DBGrid1.SelectedIndex=1 then DBGrid1.selectedIndex:=3

tblAttendanceSum.Value:=tblAttendanceIn.Value+tblAttendanceOut.Value

حيث الحقل 3 هو Sum مجموع الحقلين 1: In و 2: Out

فعند إدخال Out يظهر المجموع تلقائيا في Sum ولكن عند البدء بإدخال سجل جديد تختفي القيمة

وأنا أريد أن يبقى المجموع ظاهراً .. فما هو العمل

2 - عند فتح النموذج لإضافة مواعيد التأخير يظهر الجدول وفيه البيانات السابقة والموؤشر على أخر صف وأنا أريد أن يظهر الجدول خالياً من المعلومات ومن أي سجلات فكيف يكون ذلك

وجزاكم الله خير

#2

أخي العزيز ..

طريقتك صحيحة . أنك يجب أن تضيف حقل حسابي

ولكن شفرة حساب الحقل الحسابي لا نضعها في الـ DBgride

ستجد ضمن أحداث الجدول الحدث OnClacFields .

وضمن هذا الحدث تضع شفرة حساب الحقل الجديد , وستقوم دلفي تلقائيا بكل العمل عوضا عنك ...

مثلا الكود

tblAttendanceSum.Value:=tblAttendanceIn.Value+tblAttendanceOut.Value

جرب هذة الطريقة , فهي الطريقة المثلى لحالتك

#3

من أجل السؤال التاني

عند إنشاء الجدول OnCreate

ضع Table1.insert

وعند الإغلاق OnClose

ضع Table1.cancel (للتأكد من إغلاق حالة الإضافة)

وبالتأكيد ضمن زر الحفظ ضع

table1.post .

أتمنى أن أكون فهمت قصدك ...

أخوك

هذا الموضوع مغلق.

مواضيع مشابهة