تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] اضافة بشرط مرور 7 ايام
#1
السلام عليكم ورحمة الله 
اخوتي الاعضاء
ارجو مساعدتي في ايجاد كود او حل لمنع المستخدم من اضافة سجل جديد لمدة معين 
مثلا : عند اضافة سجل بتاريخ اليوم 19-08-2020  
 لا يمكنه اضافه سجل اخر الا بعد مرور 7 ايام 
اي بعد تاريخ 26-08-2020
والسلام عليكم
الرد
تم الشكر بواسطة:
#2
التواريخ مجرد تجربة ، قم بالاستعلام عن تاريخ اخر سجل عندك ، لااعلم نوع قاعدة البيانات لديك 

كود :
       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
الرد
تم الشكر بواسطة: ابراهيم ايبو , ابراهيم ايبو
#3
شكرا اخي الكريم
الرد
تم الشكر بواسطة: ابراهيم ايبو
#4
السلام عليكم ورحمة الله وبركاته
اخي محمد اليك هذه الطريقة
اولا يجب ان يكون لديك حقل نوع تاريخ يتم فيه تسجيل اليوم الحالي عند اضافة السجل وعادة يكون هذا السجل هو الاخير اي ان الاي دي لهذا السجل سيكون هو الاكبر(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
اعمل الخير واجرك لاتنتظره فالله خير من اليك يرده
البرمجة ليست مجرد كود بل هي منهج تفكير منطقي لحل المشكلات







الرد
تم الشكر بواسطة: Anas Mahmoud , Anas Mahmoud



التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم