تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[سؤال] هل يوجد طريقة للتنبيه قبل انتهاء التاريخ بيومين
#11
العفو اخي الكريم , لا عليك من الطريقة اذا لم تناسبك
من خلال سؤالك انا ارى انك تريد فحص المستخدمين الذين قاربة مدتهم على الانتهاء وفق التاريخ الذي تريده 
فمثلاً انت تريد عرض المستخدمين الذين بقي على انتهائهم يومين , اذاً فانت امام جدول لانه قد يكون هناك اكثر من مستخدم يطابق الشرط .
لذلك انا اقترحت عليك الطريقة السابقة من جهة قاعدة البيانات لتوفر عليك ما هو غير ضروري من جهة البرنامج
و بكل الاحوال حتى لو حاولت تطبقها عن طريقة الكود وفق دالة ما فانت ستعود لنفس الطريق السابق و تطول عليك المسافة
انظر لهذه الدالة
PHP كود :
   Public Function GetDays(Num As Long) As DataTable
        Dim _Select 
As String "Select user_name ,(DateDiff(""d"",[D1],[D2])) As EndAfter  From user_data Where DateDiff(""d"",[D1],[D2]) " "<=" Num
        Using Cmd 
As New OleDbCommand With {.CommandText _Select, .Connection DBConn}
 
           Dim Reader As OleDbDataReader Cmd.ExecuteReader
            Dim Dt 
As New DataTable
            Dt
.Load(Reader)
 
           Return Dt
        End Using
    End 
Function 

حيث الوسيطة Num تمثل عدد الايام التي تريد الفحص وفقها,والدالة تعيد جدول بالمستخدمين الذين يحققون الشرط و الجدول يحتوي على حقلين (اسم المستخدم وعدد الايام المتبقية)
ضع هذه الدالة في المديول لديك و جرب استدعائها  في بداية اقلاع النموذج لديك , بعد وضع اداة تستقبل بيانات الجدول مثل DataGridView

PHP كود :
   Private Sub FRm_mang_Load(ByVal sender As System.ObjectByVal e As System.EventArgsHandles MyBase.Load
        Button1_Click
(sendere)
 
       DataGridView1.DataSource GetDays(2)
 
   End Sub 
سترى انك قد استقبلت بيانات المستخدمين الموافقين للشرط .

كما ويمكنك الفحص وفق مستخدم واحد فقط وفق دالة مثل هذه
PHP كود :
   Public Function GetDays(ByVal Value As StringByVal Date1 As DateDate2 As DateNum As Long) As String
        Dim _Select 
As String "Select user_name From user_data Where user_name Like '" Value "' And  " DateDiff(DateInterval.DayDate1Date2) & "<=" Num
        Using Cmd 
As New OleDbCommand With {.CommandText _Select, .Connection DBConn}
 
           Dim Reader As OleDbDataReader Cmd.ExecuteReader
            Dim Msg 
As String String.Empty
 
           While Reader.Read
                If Reader
.HasRows Then
                    Msg 
Reader.Item("user_name")
 
               End If
 
           End While

 
           If Not String.IsNullOrEmpty(MsgThen
                Return Msg
            Else
                Return Nothing
            End 
If

 
       End Using
    End 
Function 
الدالة تعيد نص فيه اسم المستخدم الذي يحقق الشرط و لها عدة وسائط 
value=اسم المستخدم
Date1=تاريخ البداية
Date2=تاريخ النهاية
Num=المدة المطلوبة للفحص وهي رقم

الاستدعاء وفق برنامجك
PHP كود :
   Private Sub ListBox1_Click(ByVal sender As ObjectByVal e As System.EventArgsHandles ListBox1.Click
        If ListBox1
.Items.Count 0 Then Exit Sub
        ShowData
()
 
       MsgBox(GetDays(user_name.TextD1.ValueD2.Value5))
 
   End Sub 

بالتوفيق
اللهم لك الحمد كما ينبغي لجلال وجهك و عظيم سلطانك
في حل و ترحال
الرد }}}
تم الشكر بواسطة: أسامة السالمي
#12
(28-01-17, 11:43 PM)ابو ليلى كتب : العفو اخي الكريم , لا عليك من الطريقة اذا لم تناسبك
من خلال سؤالك انا ارى انك تريد فحص المستخدمين الذين قاربة مدتهم على الانتهاء وفق التاريخ الذي تريده 
فمثلاً انت تريد عرض المستخدمين الذين بقي على انتهائهم يومين , اذاً فانت امام جدول لانه قد يكون هناك اكثر من مستخدم يطابق الشرط .
لذلك انا اقترحت عليك الطريقة السابقة من جهة قاعدة البيانات لتوفر عليك ما هو غير ضروري من جهة البرنامج
و بكل الاحوال حتى لو حاولت تطبقها عن طريقة الكود وفق دالة ما فانت ستعود لنفس الطريق السابق و تطول عليك المسافة
انظر لهذه الدالة
PHP كود :
   Public Function GetDays(Num As Long) As DataTable
        Dim _Select 
As String "Select user_name ,(DateDiff(""d"",[D1],[D2])) As EndAfter  From user_data Where DateDiff(""d"",[D1],[D2]) " "<=" Num
        Using Cmd 
As New OleDbCommand With {.CommandText _Select, .Connection DBConn}
 
           Dim Reader As OleDbDataReader Cmd.ExecuteReader
            Dim Dt 
As New DataTable
            Dt
.Load(Reader)
 
           Return Dt
        End Using
    End 
Function 

حيث الوسيطة Num تمثل عدد الايام التي تريد الفحص وفقها,والدالة تعيد جدول بالمستخدمين الذين يحققون الشرط و الجدول يحتوي على حقلين (اسم المستخدم وعدد الايام المتبقية)
ضع هذه الدالة في المديول لديك و جرب استدعائها  في بداية اقلاع النموذج لديك , بعد وضع اداة تستقبل بيانات الجدول مثل DataGridView

PHP كود :
   Private Sub FRm_mang_Load(ByVal sender As System.ObjectByVal e As System.EventArgsHandles MyBase.Load
        Button1_Click
(sendere)
 
       DataGridView1.DataSource GetDays(2)
 
   End Sub 
سترى انك قد استقبلت بيانات المستخدمين الموافقين للشرط .

كما ويمكنك الفحص وفق مستخدم واحد فقط وفق دالة مثل هذه
PHP كود :
   Public Function GetDays(ByVal Value As StringByVal Date1 As DateDate2 As DateNum As Long) As String
        Dim _Select 
As String "Select user_name From user_data Where user_name Like '" Value "' And  " DateDiff(DateInterval.DayDate1Date2) & "<=" Num
        Using Cmd 
As New OleDbCommand With {.CommandText _Select, .Connection DBConn}
 
           Dim Reader As OleDbDataReader Cmd.ExecuteReader
            Dim Msg 
As String String.Empty
 
           While Reader.Read
                If Reader
.HasRows Then
                    Msg 
Reader.Item("user_name")
 
               End If
 
           End While

 
           If Not String.IsNullOrEmpty(MsgThen
                Return Msg
            Else
                Return Nothing
            End 
If

 
       End Using
    End 
Function 
الدالة تعيد نص فيه اسم المستخدم الذي يحقق الشرط و لها عدة وسائط 
value=اسم المستخدم
Date1=تاريخ البداية
Date2=تاريخ النهاية
Num=المدة المطلوبة للفحص وهي رقم

الاستدعاء وفق برنامجك
PHP كود :
   Private Sub ListBox1_Click(ByVal sender As ObjectByVal e As System.EventArgsHandles ListBox1.Click
        If ListBox1
.Items.Count 0 Then Exit Sub
        ShowData
()
 
       MsgBox(GetDays(user_name.TextD1.ValueD2.Value5))
 
   End Sub 

بالتوفيق

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

يوم سعيد باذن الله لك
الرد }}}
تم الشكر بواسطة:
#13
مساء الخير ي اخوان اعتذر عن رفع الموضوع من جديد فالبدايه ولكن يعلم الله بسبب احتياجي الضروري للموضوع هذا ..

حاولت اطبق اكواد اخي ابو ليلى ربي يجزيه الف خير ولكن لم انجح بسبب قل خبرتي ..

ياليت اذا احد معه اي نموذج مطبق فيه نفس الفكره لتنبيه بتاريخ يرفعه لي ربي لا هانكم
الرد }}}
تم الشكر بواسطة:
#14
ضع هذا الكود في آخر الروتين المسمى ShowData في الفورم frm_permissions
كود :
Dim d As Integer = DateDiff("d", Now.Date, CDate(D2.Text))
If d < 0 Then
    MsgBox("انتهى")
ElseIf d < 3 Then
    MsgBox("قارب على الانتهاء")
End If
مع التأكد من وجود تاريخ في العمود D2 لكل المستخدمين المسجلين في قاعدة البيانات
الرد }}}
تم الشكر بواسطة: Marwan9990
#15
(30-01-17, 02:32 PM)مساعدة كتب : ضع هذا الكود في آخر الروتين المسمى ShowData في الفورم frm_permissions
كود :
Dim d As Integer = DateDiff("d", Now.Date, CDate(D2.Text))
If d < 0 Then
   MsgBox("انتهى")
ElseIf d < 3 Then
   MsgBox("قارب على الانتهاء")
End If
مع التأكد من وجود تاريخ في العمود D2 لكل المستخدمين المسجلين في قاعدة البيانات

مساء الخير اخي اسف ع تاخر الرد بسبب ارتباطي ب مشاغلي ما قدرت اطبق كلامك الا الان اخي ربي يعطيك العافيه الكود شغال ميه ميه والفكره ناجحه ولكن تبقى شي واحد الكود الان فعلا ينبهني انه مستخدم شارف ع نهايه قبل ب يومين او انتهاء وقته .. 
ولكن اخي كيف اخليه يحدد لي ف مسج الي يصدره اهو يكتب الان انتهاء ولكن كيف اجعله يكتب مثلا المستخدم فلاني الي انتهاء عشان انا اعرف من الي انتهت صلاحيته ف قاعدة البايانات او انتهاآ تاريخه ؟
الرد }}}
تم الشكر بواسطة:
#16
لم أفهم !
الرد }}}
تم الشكر بواسطة: Marwan9990 , Marwan9990
#17
يعني اخي الان انا لما اشغل البرنامج يجيني مسج على طول (قارب على الانتهاء ) ولكني ابيه يكون بشكل التالي..

نفترض معنا مستخدم باسم احمد تاريخه قارب على الانتهاء ابي الكود بتاعك يكتب ..

( احمد قارب على الانتهاء)
الي حدث انه الكود حدد لي ف المسج المنبعث من هو المستخدم الي قارب على الانتهاء..

مدري اذا فكره واضحه
الرد }}}
تم الشكر بواسطة:
#18
ممكن تجرب استبدال السطر بالتالي
كود :
MsgBox(user_name.Text & " قارب على الانتهاء ", vbMsgBoxRtlReading)
الرد }}}
تم الشكر بواسطة: أسامة السالمي
#19
وربي دار راسي ..
الكود شغال اخي وصار يحدد لي اسم الشخص المنتهي ولكن كل هذا يحدث لما اختار المستخدم انا من قائمة ليست فيو .. يعني لو معاي مستخدم احمد واجيت اختاره من قائمة وضغطة عليه رح يقولي لو تاريخه منتهي ولكن الكود لا يعطي تنبيه اوتماتيكي يعني اول من تدخل البرنامج ينبهك بالمستخدمين الي انتهاء تاريخهم او اقترب ع الانتهاء في قاعدة بيانات الي معك ..


بعدني بحاول احلل المشروع الي سبق ورفعته عل وعسى اقدر اطبقه ف مشروعي ..


ربي يعطيك الف عافيه اخي الكريم وسموحه منك على تعبك معاي
وشكر موصول ل باقي الاخوان ايضا الي وقفو معاي ..
الرد }}}
تم الشكر بواسطة:
#20
كان طلبك من الأول على نافذة الصلاحيات وليس نافذة الدخول.
الرد }}}
تم الشكر بواسطة: Marwan9990


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [سؤال] يوجد مثال|كيف نعيد صياغة نص ليكون تاريخ مقبول justforit 7 311 01-11-25, 10:54 PM
آخر رد: justforit
  [VB.NET] طريقة تفعيل الشاشة الصغيرة في جهاز الكاشير MOHAMMED ALZWI 0 260 25-09-25, 02:17 PM
آخر رد: MOHAMMED ALZWI
  [سؤال] طريقة توسيط النص داخل اداة comboBox سمير1404 7 3,869 24-08-25, 01:01 PM
آخر رد: أبو خالد الشكري
  مساعدة في طريقة تحميل الفيديوهات المخزنة في قاعدة البيانات foad8920 0 665 24-04-25, 12:58 PM
آخر رد: foad8920
  طريقة طباعة ملف pdf بقاعدة بيانات sql heem1986 0 531 25-02-25, 09:31 AM
آخر رد: heem1986
  مشكلة تنسيق التاريخ في تقرير الكريستال مصمم هاوي 4 701 07-02-25, 01:24 AM
آخر رد: عبد العزيز البسكري
  فحص حقل التاريخ اذا كان فارغ محمد خيري 4 468 14-01-25, 02:02 AM
آخر رد: محمد خيري
  مشكلة التاريخ اداة DateTimePicker Wolfalwolf20 2 492 06-01-25, 06:14 PM
آخر رد: aljzazy
  طريقة حفظ نسخة أحيتاطية من قاعدة بيانات sql محلية heem1986 2 504 01-01-25, 03:56 PM
آخر رد: heem1986
  طريقة جلب نوع ملفات معينة heem1986 3 488 31-12-24, 11:32 PM
آخر رد: aljzazy

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


يقوم بقرائة الموضوع: