تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
البحث بتاريخ من نوع نصي
#1
السلام عليكم.اخواني هل فيه طريقة للبحث بالتاريخ من نوع نصي
بهذا الكود كلو يشتغل عادي لما يكون التاريخ هكذا 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
الرد }}}
تم الشكر بواسطة:
#2
غير إعدادات التاريخ من الجهاز ليظهر هكذا 4/5/2019.
المبرمج لا يفكر في المشكلة بل في الحل!!
الرد }}}
تم الشكر بواسطة: ابراهيم ايبو , محمد خيري
#3
السلام عليكم اخي الكريم
قمت بعمل مثال فيه مربع نص تكتب فيه التاريخ وفق الصيغة التي تعتمدها انت 
وسيقوم بالتحقق من الاتجاه ان كان من اليمين الى اليسار سيقوم بتغيير اتجاهه ليتابع مع كود البحث حيث تضعه في سير التنفيذ
اما ان كان اتجاه النص من اليسار الى اليمين فإنه ينفذ كود البحث فقط
افترضت ان التاريخ المحفوظ في قاعدة البيانات اتجاهه من اليسار الى اليمين
وكود البحث ضعه حسب مالديك
اتمنى ان يفيدك هذا المثال


الملفات المرفقة
.rar   Right or left Date.rar (الحجم : 103.15 ك ب / التحميلات : 34)
اعمل الخير وأجرك لا تنتظره فالله خير من إليك يرده
البرمجة ليست مجرد كود بل هي منهج تفكير منطقي لحل المشكلات







الرد }}}
تم الشكر بواسطة: اسامه الهرماوي , محمد خيري
#4
الله يجازيك كل خير اخي ابراهيم ما قصرت بجد.اشكرك جزيل الشكر و لو تكرمت تلقي نظرة على الملف لاني ما عرفت اطبقها.حاول اخي ابراهيمتكتب بالتاكست بكس التاريخ 29- ... بمجرد كتابة العلامة - تختفي البيانات انا جربت على هذا التاريخ لاني تعمدت كتابته 3 مرات للتجريب و الله يرضى عليك


الملفات المرفقة
.rar   WindowsApplication1.rar (الحجم : 89.34 ك ب / التحميلات : 19)
الرد }}}
تم الشكر بواسطة:
#5
السلام عليكم اخي محمد
انت تستخدم الحدث 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 فقد فتحت السورس كود
اعمل الخير وأجرك لا تنتظره فالله خير من إليك يرده
البرمجة ليست مجرد كود بل هي منهج تفكير منطقي لحل المشكلات







الرد }}}
تم الشكر بواسطة: محمد خيري
#6
ما قصرت اخي ابراهيم و الهي يجازيك كل الخير و المحبة.مفيش طريقة اخي ابراهيم من غير ما استعمل زر الامر يعني اكتب بالتاكست بكس و يطلعلي نتيجة البحث ربينا يبارك فيك
الرد }}}
#7
اخي محمد هذا مثال مع قاعد بييانات 
غير المفردات الى مفردات مشروعك
اتمنى ان اكون قد ساهمت في حل مشكلتك
لاتوجد طريقة أخرى ... البحث من خلال تغير النص تعمل مع like وهذه تفعل مع اول حرف تكتبه
رمضان كريم ... دمت بخير 


الملفات المرفقة
.rar   Right or left Date1.rar (الحجم : 114.59 ك ب / التحميلات : 23)
اعمل الخير وأجرك لا تنتظره فالله خير من إليك يرده
البرمجة ليست مجرد كود بل هي منهج تفكير منطقي لحل المشكلات







الرد }}}
تم الشكر بواسطة: محمد خيري
#8
المشكلة اخي ابراهيم بالمثال يلي وضعته بارك اللهف يك التاريخ بالجدول من الشمال لليمين و انا اريده بالحق يكون من اليمين للشمال و نطبق البحث.شايف اخي ابراهيم الكود الاول يييلي ارسلته للتقطيع .كيف اعكس ذلك الكود و بارك الله فيك
كيف اعكس التقطيع هنا عملت 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
الرد }}}
تم الشكر بواسطة:
#9
اخي محمد 
ماهو اتجاه التاريخ  في قاعدة البيانات ؟
انا افترضته من اليسار الى اليمين في الريجكس رقمين ثم - ثم رقمين ثم - ثم 4 ارقام
عندما تقوم بتغيير ارقام الريجكس يجب ان بكون التاريخ في قاعدة البيانات من اليمين الى اليسار
حتى تطهر النتائج قم باضافة سجل وغير اتجاه التاريخ
اعمل الخير وأجرك لا تنتظره فالله خير من إليك يرده
البرمجة ليست مجرد كود بل هي منهج تفكير منطقي لحل المشكلات







الرد }}}
تم الشكر بواسطة: محمد خيري
#10
معذرة اخي ابراهيم التاريخ فعلا بقاعدة البيانات من اليمين للشمال و بالملف الذي ارسلته ستلاحظ التاريخ مكتوب من اليمين للشمال
عملت هكذا

كود :
  Dim reg As New Regex("^\d{2}[-]\d{2}[-]\d{4}$")
و ما ضبطت معي
الرد }}}
تم الشكر بواسطة: ابراهيم ايبو



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


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