السلام عليكم ورحمة الله
اخوتي الاعضاء
ارجو مساعدتي في ايجاد كود او حل لمنع المستخدم من اضافة سجل جديد لمدة معين
مثلا : عند اضافة سجل بتاريخ اليوم 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