منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : اضافة بشرط مرور 7 ايام
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم ورحمة الله 
اخوتي الاعضاء
ارجو مساعدتي في ايجاد كود او حل لمنع المستخدم من اضافة سجل جديد لمدة معين 
مثلا : عند اضافة سجل بتاريخ اليوم 19-08-2020  
 لا يمكنه اضافه سجل اخر الا بعد مرور 7 ايام 
اي بعد تاريخ 26-08-2020
والسلام عليكم
التواريخ مجرد تجربة ، قم بالاستعلام عن تاريخ اخر سجل عندك ، لااعلم نوع قاعدة البيانات لديك 

كود :
       Dim LastAddedDate As Date = #8-19-2020# 'اخر تاريخ يمكنك الاستعلام عنه من قاعدة البيانات
       Dim FirstAllowedDate As Date = LastAddedDate.AddDays(7) 'اول تاريخ مسموح به
       Dim DateToBeAdded = #8-20-2020# 'التاريخ المطلوب اضافته


       If DateToBeAdded.Date >= FirstAllowedDate.Date Then
           'كود اضافة التاريخ لقاعدة البيانات
       Else
           MsgBox("لا يمكنك الاضافة الا بعد اسبوع")
       End If
شكرا اخي الكريم
السلام عليكم ورحمة الله وبركاته
اخي محمد اليك هذه الطريقة
اولا يجب ان يكون لديك حقل نوع تاريخ يتم فيه تسجيل اليوم الحالي عند اضافة السجل وعادة يكون هذا السجل هو الاخير اي ان الاي دي لهذا السجل سيكون هو الاكبر(Maxid)  وفي كود الاضافة سنقوم بجلب هذا السجل ثم نقوم بالتحقق من التاريخ الموجود مع اضافة 7 ايام له فان كان اصغر او يساوي تاريخ اليوم الحالي فهذا يعني انه مضى اكثر من 7 ايام عليه عندها سنسمح بالاضافة والا فلا يمكن الاضافة
ماذا لو كان الجدول لايحوي اية سجلات وبالتالي هو فارغ (0) سجل في هذه الحالة يمكننا الاضافة ايضا
ولعمل ماسبق نحتاج الى فنكشن يجلب الماكس اي دي وفي كود الاضافة نقوم اولا يالاستعلام عن اخر سجل ومقارنة التاريخ مع تاريخ اليوم الحالي
افترضت اسم الجدول Personal وحقل الاي دي CV_ID وحقل التاريخ ذو الاندكس 3
1 فنكشن MaxID
كود :
Public Function MaxID_Personal() As DataTable
       Dim Query As String = "Select IIF(MAX(CV_ID) IS Null,0,MAX(CV_ID)) From Personal"
       Dim dt As New DataTable()
       dt.Clear()
       Dim Da As New OleDbDataAdapter(Query, Con)
       Da.Fill(dt)
       Return (dt)
   End Function
كود بوتون الحفظ او اضافة سجل
كود :
Private Sub Btn_Save_Click(sender As Object, e As EventArgs) Handles Btn_Save.Click
       ' جلب اخرسجل
       Dim Query As String = "Select * From Personal where CV_ID=" & MaxID_Personal.Rows(0)(0)
       Dim dt As New DataTable()
       dt.Clear()
       Dim Da As New OleDbDataAdapter(Query, Con)
       Da.Fill(dt)
       ' اذا كانت الداتاتابل تحتوي على سجل وهو وحيد
       If dt.Rows.Count > 0 Then
           ' التحقق من ان حقل التاريخ مضافا عليه 7 ايام اصغر او يساوي التاريخ الحالي
           ' تعريف متغير نوع تاريخ يحمل قيمة حقل التاريخ الذي تم تسجيل السجل فيه
           Dim kk As Date = CDate(dt.Rows(0)(3))
           If kk.AddDays(7) <= Now Then
               MsgBox("يمكن الاضافة")
               ' كود الاضافة
           Else
               MsgBox("لايمكن الاضافة")
               Exit Sub
           End If
           ' او ان الداتاتابل فارغة وليس فيها سجلات حيث يمكن الاضافة
       Else
           MsgBox("لايوجد سجلات الجدول فارغ يمكنك الاضافة")
       End If


   End Sub