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

نسخة كاملة : البحث بتاريخ من نوع نصي
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2
السلام عليكم.اخواني هل فيه طريقة للبحث بالتاريخ من نوع نصي
بهذا الكود كلو يشتغل عادي لما يكون التاريخ هكذا 2019-05-04 لكن لما يكون التاريخ بالجدول بهذا الشكل ما يشتغل مضبوط 04-05-2019 .اريد ان يبحث بغظ النظر عن تنسيقه بالجدول من الشمال لليمين او من اليمين للشمال ملحوظة التاريخ انا عاملو من نوع نص و ليس تاريخ و بارك الله فيكم

كود :
Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged
   Dim Sql As String = "Select * From Table1 where Dattee like '%" & TextBox1.Text & "%'"
   Dt.Clear()
   Dim Da As New OleDbDataAdapter(Sql, Conne)
   Da.Fill(Dt)
   DataGridView1.DataSource = Dt
End Sub
غير إعدادات التاريخ من الجهاز ليظهر هكذا 4/5/2019.
السلام عليكم اخي الكريم
قمت بعمل مثال فيه مربع نص تكتب فيه التاريخ وفق الصيغة التي تعتمدها انت 
وسيقوم بالتحقق من الاتجاه ان كان من اليمين الى اليسار سيقوم بتغيير اتجاهه ليتابع مع كود البحث حيث تضعه في سير التنفيذ
اما ان كان اتجاه النص من اليسار الى اليمين فإنه ينفذ كود البحث فقط
افترضت ان التاريخ المحفوظ في قاعدة البيانات اتجاهه من اليسار الى اليمين
وكود البحث ضعه حسب مالديك
اتمنى ان يفيدك هذا المثال
الله يجازيك كل خير اخي ابراهيم ما قصرت بجد.اشكرك جزيل الشكر و لو تكرمت تلقي نظرة على الملف لاني ما عرفت اطبقها.حاول اخي ابراهيمتكتب بالتاكست بكس التاريخ 29- ... بمجرد كتابة العلامة - تختفي البيانات انا جربت على هذا التاريخ لاني تعمدت كتابته 3 مرات للتجريب و الله يرضى عليك
السلام عليكم اخي محمد
انت تستخدم الحدث TextBox1_TextChanged وهنا
ستضطر لوضع الكود داخل زر بحث بجانب مريع البحث 
اي ستكتب في مربع النص ثم تضغط على زر التحقق والبحث
ناحية اخرى تعال على هذا السطر 
كود :
Dim Sql As String = "Select * From Table1 where birthdate like '%" & TextBox1.Text & "%'"

واستبدله بهذا في حالتي ال  if و Else بحيث تكتب التاريخ في مربع النص وسيكون البحث مطابق
كود :
Dim Sql As String = "Select * From Table1 where birthdate = '" & TextBox1.Text & "'"
اخي محمد اعذرني لانني لم استطيع فتح مشروعك لانني اعمل عل فيجوال بيسك 2010 واوفيس 2003 فقد فتحت السورس كود
ما قصرت اخي ابراهيم و الهي يجازيك كل الخير و المحبة.مفيش طريقة اخي ابراهيم من غير ما استعمل زر الامر يعني اكتب بالتاكست بكس و يطلعلي نتيجة البحث ربينا يبارك فيك
اخي محمد هذا مثال مع قاعد بييانات 
غير المفردات الى مفردات مشروعك
اتمنى ان اكون قد ساهمت في حل مشكلتك
لاتوجد طريقة أخرى ... البحث من خلال تغير النص تعمل مع like وهذه تفعل مع اول حرف تكتبه
رمضان كريم ... دمت بخير 
المشكلة اخي ابراهيم بالمثال يلي وضعته بارك اللهف يك التاريخ بالجدول من الشمال لليمين و انا اريده بالحق يكون من اليمين للشمال و نطبق البحث.شايف اخي ابراهيم الكود الاول يييلي ارسلته للتقطيع .كيف اعكس ذلك الكود و بارك الله فيك
كيف اعكس التقطيع هنا عملت 224 لكن ما ضبطت

كود :
   Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged
       Dim reg As New Regex("^\d{4}[-]\d{2}[-]\d{2}$") ' للتحقق من شكل التاريخ في مربع النص ان كان من اليمين الى اليسار
       Dim txt As String = TextBox1.Text.Trim()
       If reg.IsMatch(txt) Then ' اذا كان النص مطابق للريجكس
           Dim f() As String = TextBox1.Text.Split("-") ' يسقوم بعمل تقطيع النص
           MsgBox("سيتم تغيير الاتجاه")
           TextBox1.Text = ""
           TextBox1.Text = f(2) & "-" & f(1) & "-" & f(0) ' تغيير اتجاه النص
           Dim Sql As String = "Select * From Table1 where birthdate like '%" & TextBox1.Text & "%'"
           Dt.Clear()
           Dim Da As New OleDbDataAdapter(Sql, Conne)
           Da.Fill(Dt)
           DataGridView1.DataSource = Dt

       Else
           Dim Sql As String = "Select * From Table1 where birthdate like '%" & TextBox1.Text & "%'"
           Dt.Clear()
           Dim Da As New OleDbDataAdapter(Sql, Conne)
           Da.Fill(Dt)
           DataGridView1.DataSource = Dt
       End If
   End Sub
اخي محمد 
ماهو اتجاه التاريخ  في قاعدة البيانات ؟
انا افترضته من اليسار الى اليمين في الريجكس رقمين ثم - ثم رقمين ثم - ثم 4 ارقام
عندما تقوم بتغيير ارقام الريجكس يجب ان بكون التاريخ في قاعدة البيانات من اليمين الى اليسار
حتى تطهر النتائج قم باضافة سجل وغير اتجاه التاريخ
معذرة اخي ابراهيم التاريخ فعلا بقاعدة البيانات من اليمين للشمال و بالملف الذي ارسلته ستلاحظ التاريخ مكتوب من اليمين للشمال
عملت هكذا

كود :
  Dim reg As New Regex("^\d{2}[-]\d{2}[-]\d{4}$")
و ما ضبطت معي
الصفحات : 1 2