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

اغلاق فترة بالجدول وعدم السماح بتسجيل البيانات

بدأه السيد الجوهرى في 3 أغسطس 2012 · 5 رد · 715 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

مرفق مثلا للتعديل علية

الجدول المطلوب اقفال الفترة بداخلة quntity1

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

اريد كود عند الضغط على الزر اغلاق الفترة بالنموذج يتم اقفال الفترة ولا يسمح بادخال بيانات من خلال النموذج quntity4

اى اننا سجلنا بالجدول quntity1 بيانات بتاريخ 31/5/2012 وقمنا باغلاقها من خلال النموذج 1

وبعد ذلك ذهبنا الى النموذج quntity4 وسجلنا بيانات بتاريخ 31/5/2012 وعند الضغط على زر حفظ

اريد ظهور رسالة تفيد ان الفترة تم اغلاقها ولا يسمح بتسجيل اى بيانات

salma2012.rar

#2

تفضل أخى جرب هذا

لاحظ اننا نحتفظ بالفترة المغلقة فى جدول منفصل

هناك مشكلة فى رفع المرفق بالمنتدى

عموما اعمل جدول جديد اسمه closed و ضع به عمود ترقيم تلقائى (مفتاح الجدول ) اسمه id و عمود تاريخ باسم cls_date

حيث سيتم حفظ الفترات المغلقة به

ثم ضع هذا الكود فى النموذج quntity4

Private Sub b_LostFocus()
If Len(Me.b & "") > 0 Then
If DCount("id", "closed", "[cls_date]= #" & Me.b & "# ") > 0 Then
Me.[كودالعميل].SetFocus
Me.b.SetFocus
MsgBox "الفترة مغلقة"
End If
End If
End Sub

تم تعديل هذه المشاركة بواسطة Abo_Yossof في 3 أغسطس 2012 في 12:13

2

مدونتى:-

احترف الأكسس مع أبو يوسف

متغيب حاليا لانشغالى الشديد

#3

اخى الفاضل ابو يوسف

شكراا لمرورك الكريم وكل عام وانتم بصحة وسعادة

فضلا ارفع الملف للاطلاع علية

وشكر لك

#4

شكرااا ابو يوسف

يتم اغلاق الفترة فى نهاية كل شهر طبقا للمثال المرفق

ماذا لو اردناها تغلق فى منتصف ونهاية كل شهر

salma2012.rar

#5
sayedaaa كتب:

شكرااا ابو يوسف

يتم اغلاق الفترة فى نهاية كل شهر طبقا للمثال المرفق

ماذا لو اردناها تغلق فى منتصف ونهاية كل شهر

salma2012.rar

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

اما اذا كنت تريد تحديد فترة من عدة ايام

فان الامر سيتطلب اضافة حقل جديد الى الجدول closed باسم cls_date1 ليكون بمثابة نهاية للفترة

و يكون الحقل cls_date هو بداية الفترة

و يتم تعديل الكود بعد ذلك

Private Sub b_LostFocus()
If Len(Me.b & "") > 0 Then
If DCount("id", "closed", "[cls_date] <= #" & Me.b & "# and [cls_date2] >= #" & Me.b & "#") > 0 Then
Me.[كودالعميل].SetFocus
Me.b.SetFocus
MsgBox "الفترة مغلقة"
End If
End If
End Sub

مدونتى:-

احترف الأكسس مع أبو يوسف

متغيب حاليا لانشغالى الشديد

#6

السلام عليكم

لقد ذهبت الى العمل اليوم وقمت بتسجيل بيانات 3/8/2012

ولالاسف بدلا من كتابة التاريخ 3/8/2012 قمت بكتابة التاريخ 3/7/2012

وذهبت لطباعة كشف حساب للعميل لم تظهر بيانات 3/8/2012 بالتقرير

وبالمراجعة تبين انها سجلت بتاريخ 3/7/2012

ما اريدة

فى المثال اعلاة يتم اقفال الفترة فى منتصف ونهاية كل شهر

وذلك بمساعدة ابو يوسف حفظة الله لكن لا يفى بالغرض

حيث ان اضافة جميع ايام الشهر الى الجدول closed

هو امر شاق يصعب تحقيقة فى ظل وجود تسجيل حركات كثيرة

اريد الاقفال يوميا على نفس المثال السابق

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

تم تعديل هذه المشاركة بواسطة sayedaaa في 5 أغسطس 2012 في 13:02

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…