اذهب الي المحتوي
أوفيسنا

الردود الموصى بها

قام بنشر

السلام عليكم اخوانى الاساتذة الافاضل الكرام

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

احتاج اضافة الى الكود بواسطة قاعدة IF

Registration_Date<= يوم 10 فى الشهر الجديد

بمعنى لو الخلية Registration_Date=30/4/2022

وتاريخ اليوم 10/5/2022 يتم تفعيل الاكواد الاتية

اما لو كان تاريخ اليوم<10 فى الشهر الجديد لا يتم تفعيل الاكواد

       .AllowAdditions = False
       .AllowEdits = False
       .AllowDeletions = False

بارك الله فيكم اخوانى الافاضل وكل عام وانتم بخير وصحة وسلامة

قام بنشر
  • طيب سوى جدول باسم  tblRegistrationDate  وسوى بداخلة حقل من نوع تاريخ باسم RegistrationDate
  • وسوى جدول للتجربة باسم tblData  وسوى بداخله اى حقول من اى نوع بيانات تريدها للتجربة 
  • سوى نموذج مصدر بياناته الجدول  tblData    على ان يكون داخل النموذج فى الفوتر مثلا بعيد عن الحقول الرئيسية للجدول العناصر الاتية بالترتيب بالاسماء الاتية
    عدد 2 مربع نص  +  عدد 1 زر أمر 
  1. مربع النص الاول يكون باسم txtRegistrationDate
  2. مربع النص الثانى يكون باسم txtDayDate
  3. زر الامر سمه ما شئت

الاكواد المستخدمة تكون كالاتى 

اولا عند فتح النموذج 

    txtRegistrationDate = Nz(DLast("[RegistrationDate]", "tblRegistrationDate"))

وهذا لجلب آخر قيمة تاريخ سوف تقوم بتسجيلها داخل جدول tblRegistrationDate 

ثانيا مربع النص txtDayDate  اعتبره تاريخ اليوم ضع فيه تاريخ اليوم للتجارب كما تريد

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

Date()

 

 

ثالثا على زر الامر عند النقر ضع الكود الاتى 

    Select Case Nz(txtRegistrationDate, "")
    Case Is = "": Exit Sub
    Case 1 = Format(CVDate(txtDayDate), "dd/mm/yyyy") > Format(CVDate(txtRegistrationDate), "dd/mm/yyyy")
        Me.AllowAdditions = True
        Me.AllowEdits = True
        Me.AllowDeletions = True
    Case Else
        Me.AllowAdditions = False
        Me.AllowEdits = False
        Me.AllowDeletions = False
    End Select
    Me.Requery

 

 

اعتذر لتقديم الاجابة النظرية فقط فى الوقت الراهن :eek2:

  • Like 1
قام بنشر

بارك الله فيك اخى استاذ ابو جودي

بيض الله وجهك اللهم امين يارب

ها هو المرفق نموذج مصغر اخى به الشرح الذى تفضل حضرتك بشرحه وفيه الداتا

ما احتاجه عندما

 

 لو الخلية Registration_Date=30/4/2022

وتاريخ اليوم 10/5/2022 يتم تفعيل الاكواد الاتية

اما لو كان تاريخ اليوم<10 فى الشهر الجديد لا يتم تفعيل الاكواد

زادك الله من فضله اللهم امين يارب

Date-1.accdb

قام بنشر (معدل)

بارك الله فيك اخى استاذ ابو جودي

بيض الله وجهك اللهم امين يارب

توصلت الى هذا الكود  ويقوم باضافة 9 ايام الى اول اى شهر ويعمل تمام مرفق

Private Sub Form_Load()
StartDate = Year(Now) & "/" & Month(Now) & "/" & 1 + 9
End Sub

 

انا عايز اضبط الكود بحيث لو

Registration_Date<= يوم 10 فى الشهر الجديد

بمعنى لو الخلية Registration_Date=30/4/2022

وتاريخ اليوم 10/5/2022 يتم تفعيل الاكواد الاتية

اما لو كان تاريخ اليوم<10 فى الشهر الجديد لا يتم تفعيل الاكواد

الفكرة انا عايز خلا ل الشهر يتم التعديل والحذف اما اذا جه الشهر الجديد يوم10 لا يمكن التعديل خلاص وطبعا الاشهر السابقة كلها لايمكن التعديل فيها 

زادك الله من فضله اللهم امين يارب

Date-1.accdb

تم تعديل بواسطه abouelhassan
قام بنشر
في 5‏/5‏/2022 at 00:22, abouelhassan said:

بارك الله فيك اخى استاذ ابو جودي

بيض الله وجهك اللهم امين يارب

توصلت الى هذا الكود  ويقوم باضافة 9 ايام الى اول اى شهر ويعمل تمام مرفق

Private Sub Form_Load()
StartDate = Year(Now) & "/" & Month(Now) & "/" & 1 + 9
End Sub

 

انا عايز اضبط الكود بحيث لو

Registration_Date<= يوم 10 فى الشهر الجديد

بمعنى لو الخلية Registration_Date=30/4/2022

وتاريخ اليوم 10/5/2022 يتم تفعيل الاكواد الاتية

اما لو كان تاريخ اليوم<10 فى الشهر الجديد لا يتم تفعيل الاكواد

الفكرة انا عايز خلا ل الشهر يتم التعديل والحذف اما اذا جه الشهر الجديد يوم10 لا يمكن التعديل خلاص وطبعا الاشهر السابقة كلها لايمكن التعديل فيها 

زادك الله من فضله اللهم امين يارب

Date-1.accdb 1.1 \u0645\u064a\u062c\u0627 \u0628\u0627\u064a\u062a · 3 downloads

للرفع رفع الله قدركم

قام بنشر

طيب واحدة واحدة لان انا مش عارف افهم 

 

---أولا-------------------------

RegistrationDate=30/4/2022

DayDate=1/5/2022   to    9/5/2022

تكون النتيجة 
 

       .AllowAdditions = False
       .AllowEdits = False
       .AllowDeletions = False

 DayDate=10/5/2022   to    31/5/2022

تكون النتيجة 
 

       .AllowAdditions = True
       .AllowEdits = True
       .AllowDeletions = True

 

---ثانيا-------------------------

RegistrationDate=30/4/2022

DayDate=1/6/2022   to    9/6/2022

 

 تكون النتيجة 
 

       .AllowAdditions = False
       .AllowEdits = False
       .AllowDeletions = False

 DayDate=10/6/2022   to    30/6/2022

تكون النتيجة 
 

       .AllowAdditions = True
       .AllowEdits = True
       .AllowDeletions = True

وهكذا على كل شهر جديد

  • Like 1
قام بنشر

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

بس حضرتك اعتمدت على انشاء خلية RegistrationDate

بينما ما احتاج ربطه هو تاريخ القيد RegistrationDate

كذلك تم انشاء جدول tblRegistrationDate وتم الاعتماد عليه فى غلق الحذف والتعديل انا احتاج الاعتماد يكون على جدول البيانات الرئيسي تاريخ القيد

 

Untitled.png.c2f3d150bf72a4b8cc39a634e0fb2fb8.png

الفكرة التى احتاجها اخى

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

الشهر الحالى يمكن التعديل فيه والحذف حتى يوم 10 بعد يوم 10 فى الشهر الحالى

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

مثال بالارقام للايضاح استاذى

اذا كان لدينا بيانات فى تواريخ من 1/1/2021 حتى1/4/2022 

التاريخ حتى30/3/2022 سيتم غلق كل السجلات

اما من1/4/2022 حتى30/4/2022 سيظل امكانية التعديل حتى10/5/2022 اما بعد 10/5/2022 سيتم غلق شهر 4

فاهمتنى استاذى الحبيب

بارك الله فيك وبك 

احترامى

 

قام بنشر

اخى فى الله استاذى الحبيب لقلبى @ابو جودي بارك الله لك فى اسرتك وال بيتك وزادك من فضله اشكرك اخى الكريم

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

    Registration_Date = Nz(DLast("[Registration_Date]", "Financial_Records"))

والفورم الرئيسى اسمه Form1

جدول البيانات اسمه Financial_Records

والفورم المطلوب التنفيذ فيه اسمه Financial_Records1

ارجو من حضرتك التكرم بالاطلاع بارك الله فيك اخى وزادك من فضله

 

 

TestLOck.accdb

قام بنشر

السلام عليكم

مشاركه مع اخوانى واساتذتى الافاضل جزاهم الله عنا كل خير

في 5‏/5‏/2022 at 00:22, abouelhassan said:

انا عايز اضبط الكود بحيث لو

Registration_Date<= يوم 10 فى الشهر الجديد

حاجه ع قد ما فهمت اعتمدت على الحقل StartDate فالنموذج اللى انت وضعتله الكود

جرب ووافنى بالنتيجه

 

Date-1.accdb

  • Like 1
قام بنشر (معدل)

اخى فى الله استاذى الحبيب لقلبى @احمد الفلاحجي تسلم ايدك اخى بس ايضا لايظبط معى عند نقل الكود الى نموذج مصغر للبرنامج مش عارف السبب

لوتكرمت اخى الاطلاع للوقوف على سبب المشكلة لو وقت حضرتك يسمح اكون شاكر فضلك

اليوزرadmin

الباس123

الفورم الرئيسى اسمه Form1

جدول البيانات اسمه Financial_Records

والفورم المطلوب التنفيذ فيه اسمه Financial_Records1 وبه الحقل StartDate

لعرض البيانات المراد غلقها فى التاريخ من الفورمForm1 نختاري السنة المالية ثم عرض الفلتر سيظهر كل البيانات

 

الفكرة التى احتاجها اخى

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

الشهر الحالى يمكن التعديل فيه والحذف حتى يوم 10 الشهر التالى بعد يوم 10 فى الشهر التالى

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

مثال بالارقام للايضاح استاذى

اذا كان تاريخ اليوم هو1/5/2022

اذا كان لدينا بيانات فى تواريخ من 1/1/2021 حتى1/4/2022 

التاريخ حتى30/3/2022 سيتم غلق كل السجلات

اما من1/4/2022 حتى30/4/2022 سيظل امكانية التعديل حتى10/5/2022 اما بعد 10/5/2022 سيتم غلق شهر 4 كله وهكذا اخى الكريم

ارجو من حضرتك التكرم بالاطلاع بارك الله فيك اخى وزادك من فضله

 

 

 

TestLOck.accdb

تم تعديل بواسطه abouelhassan
قام بنشر
8 ساعات مضت, abouelhassan said:

الفكرة التى احتاجها اخى

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

الشهر الحالى يمكن التعديل فيه والحذف حتى يوم 10 الشهر التالى بعد يوم 10 فى الشهر التالى

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

مثال بالارقام للايضاح استاذى

اذا كان تاريخ اليوم هو1/5/2022

اذا كان لدينا بيانات فى تواريخ من 1/1/2021 حتى1/4/2022 

التاريخ حتى30/3/2022 سيتم غلق كل السجلات

اما من1/4/2022 حتى30/4/2022 سيظل امكانية التعديل حتى10/5/2022 اما بعد 10/5/2022 سيتم غلق شهر 4 كله وهكذا اخى الكريم

صراحه لم افهم ما تريد بالضبط لان كلامك متناقض

انت تريد غلق التعديلات على كل سجلات التى قبل يوم 10 من اى شهر تمام لحد كده

ثم قمت بتوضيح اخر بانك عاوز تريد سجلات شهر كامل متاح التعديل فيه قبل يوم 10

بصراحه الموضوع غير مفهوم

فهم المطلوب نصف الاجابه

بالتوفيق

  • Like 1
قام بنشر

السلام عليكم اخى الكريم وجزاك الله خيرا يارب

ما هو المطلوب الاثنين اخى الكريم 

كل التواريخ يتم الغلق فيها تمام

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

وده مثال بالتاريخ للايضاح

9 ساعات مضت, abouelhassan said:

اذا كان تاريخ اليوم هو1/5/2022

اذا كان لدينا بيانات فى تواريخ من 1/1/2021 حتى1/4/2022 

التاريخ حتى30/3/2022 سيتم غلق كل السجلات

اما من1/4/2022 حتى30/4/2022 سيظل امكانية التعديل حتى10/5/2022 اما بعد 10/5/2022 سيتم غلق شهر 4 كله وهكذا اخى الكريم

بارك الله فيك اخي الكريم

قام بنشر
منذ ساعه, abouelhassan said:

السلام عليكم اخى الكريم وجزاك الله خيرا يارب

ما هو المطلوب الاثنين اخى الكريم 

كل التواريخ يتم الغلق فيها تمام

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

وده مثال بالتاريخ للايضاح

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

طيب اتفضل جرب واخبرنى بالنتيجه

جرب اول سجل وتانى سجل لانى غيرت تانى سجل ل 02/08/2021

Private Sub Form_Current()

Dim x As String, y As String, z As String

x = Format$(Me.Registration_Date, "\#mm\/dd\/yyyy\#") 'date
y = Format$(DateSerial(Year(Date), Month(Date) - 1, 1), "\#mm\/dd\/yyyy\#") 'Last Month
z = Format$(DateSerial(Year(Date), Month(Date), 10), "\#mm\/dd\/yyyy\#") 'Month

    If x >= y And x < z Then
        Me.AllowAdditions = True
        Me.AllowEdits = True
        Me.AllowDeletions = True
    Else
        Me.AllowAdditions = False
        Me.AllowEdits = False
        Me.AllowDeletions = False
    End If
    
End Sub

بالتوفيق

Date-1 (3).accdb

  • Like 1
قام بنشر (معدل)

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

حضرتك رائع رائع رائع جداااااااااااااا حفظك الله وزادك من فضله وعلمه الكود ممتاز ويعمل اخى فى كل شئ

عدا الحذف لا زال يعمل

هذا الزر به كود حذف

1.png.01240852fafe20f69a54f43f00563a84.png

به هذا الكود

Private Sub أمر31_Click()
If MsgBox("هل تريد فعلا حذف القيد نهائياً ؟", vbExclamation + vbMsgBoxRight + vbYesNo, "تأكيد عملية الحذف") = vbYes Then
    Dim db As DAO.Database
    Dim rs As DAO.Recordset
    Dim MyNo As Integer
        MyNo = [Registration_Number]
    
        Set rs = CurrentDb.OpenRecordset("SELECT * FROM [Financial_Records] where Registration_Number=" & MyNo)
        rs.Delete
        rs.Close
        Set rs = Nothing
        DoCmd.Requery
End If
End Sub

هو الوحيد الذى  احتاج الى تطبيق الكود عليه معلش استاذى الحبيب لقلبى

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

وبكده يكون الكود متكامل ان شاء الله

بفضل الله وفضلك اخى الكريم جداااااااااااااا

خالص الدعاء لك اخى الكريم

احترمى لك وخالص التقدير والشكر

 

TestLOck.accdb

تم تعديل بواسطه abouelhassan
قام بنشر

الله يسلمك اخى ابو الحسن انتم الاروع فبمشاركتكم اتعلم الكثير

منذ ساعه, abouelhassan said:

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

المفروض لا يتم

فالمثال اللى شغالين عليه اضف كود الحذف للزر ولا يتم الحذف للسجلات التى لا تقبل التعديل ولكن يحذف السجلات القابله للتعديل

جرب بعد اضافه كود الحذف

بالتوفيق

Date-1 (3_1).accdb

  • Like 1
قام بنشر
44 دقائق مضت, احمد الفلاحجي said:

الله يسلمك اخى ابو الحسن انتم الاروع فبمشاركتكم اتعلم الكثير

المفروض لا يتم

فالمثال اللى شغالين عليه اضف كود الحذف للزر ولا يتم الحذف للسجلات التى لا تقبل التعديل ولكن يحذف السجلات القابله للتعديل

جرب بعد اضافه كود الحذف

بالتوفيق

Date-1 (3_1).accdb 768 kB · 0 downloads

الله يسعد اوقاتك اخى الكريم جداااااااااااااااااااااااااااااااااااااااا حفظك الله وزادك من فضله اللهم امين اخى

صادفتنى مشكلة اخى عذرا اخى الكريم فى المثال المرفق

1.png.f61721c6d955bc2a1bad44df8d8f43d1.png

كما بالصورة تاريخ القيد 1/4/2022 واليوم هو14/5/2022 يعنى تخطى 10/5/2022 ويجب ان يمنع التعديل والحذف بس التعديل بيتم عادى

الله يرضى عنك اخى وعن والديك اعذرنى اخى الكريم وحفظك وجزاك الله عنا كل الخير

 

Date-1 (3_1).accdb

قام بنشر (معدل)
2 ساعات مضت, uzer said:

تفضل وجرب الان.

جزاك الله خيرا على مشاركتك معنا 💐

طيب المفروض التاريخ اكبر من 10 فالشهر الحالى متاح للتعديل

جرب التعديل التالى ووافنى بالنتيجه

 

 

Date-1 (3_4).accdb

تم تعديل بواسطه احمد الفلاحجي
  • Like 1

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information