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

نسخة كاملة : البحث للتاريخ بالتاكس بكس
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم.اخواني بهاي الكود لما اجي ابحث و اكتب التاريخ لازم اكتبو هيك مثلا 26-08-2018
1 . كيف اقدر ابحث زي ما اكتب هيك مثال 26/08/2018
2 . لما امسح التاريخ من التاكس بكس تبقى نتيجة البحث زي ما هي بالداتا غريد .كيف لما تمسح التاكست بكس ترجع كامل البيانات زي ما كانت بالفورم لود وكأني ما بكتبت بالتاكست بكس.شكرا كثيرا و بارك الله بكم

كود :
   Private Sub TextBox1_TextChanged(ByVal sender As Object, ByVal e As EventArgs) Handles TextBox1.TextChanged
       If IsDate(TextBox1.Text) Then
           Dim conn As New OleDbConnection("provider=Microsoft.Ace.OLEDB.12.0;Data Source=|datadirectory|\MAJOR.accdb ;Jet OLEDB:Database Password=20182018")
           Dim dtsearch As New DataTable
           dtsearch.Clear()
           Dim dasearch As New OleDbDataAdapter("SELECT * FROM DEPENSES where DATE_DEPENSES=@d", conn)
           dasearch.SelectCommand.Parameters.AddWithValue("@d", CDate(TextBox1.Text))
           dasearch.Fill(dtsearch)
           DataGridView1.DataSource = dtsearch
           If dtsearch.Rows.Count = 0 Then
               dasearch = New OleDbDataAdapter("SELECT * FROM DEPENSES", conn)
               dasearch.Fill(dtsearch)
               DataGridView1.DataSource = dtsearch
           End If
       End If
   End Sub
If dtsearch.Rows.Count = 0 Then
   dasearch  New OleDbDataAdapter("SELECT * FROM DEPENSES", conn)
   dtsearch.Clear
   dasearch.Fill(dtsearch)
   DataGridView1.DataSource = dtsearch
End If
تفضل الكود بعد التعديل
PHP كود :
  Private conn As New OleDbConnection("provider=Microsoft.Ace.OLEDB.12.0;Data Source=|datadirectory|\MAJOR.accdb ;Jet OLEDB:Database Password=20182018")
 
  Private dtsearch As New DataTable

   
Private Sub TextBox1_TextChanged(ByVal sender As ObjectByVal e As EventArgsHandles TextBox1.TextChanged

       Dim dasearch 
As New OleDbDataAdapter("SELECT * FROM DEPENSES "conn)

 
      If IsDate(TextBox1.TextThen
           dasearch
.SelectCommand.CommandText &= " where DATE_DEPENSES=@d"
 
          dasearch.SelectCommand.Parameters.AddWithValue("@d"CDate(TextBox1.Text))
 
      End If

 
      dtsearch.Clear()
 
      dasearch.Fill(dtsearch)
 
      DataGridView1.DataSource dtsearch

   End Sub 
اهلاً بك اخى العيدروس

بخصوص الاستعلام كل ما عليك فعله هو التالى
استبدل الجزء التالى
كود :
SELECT * FROM DEPENSES where DATE_DEPENSES=@d

بهذا الكود
كود :
SELECT * FROM DEPENSES where DATE_DEPENSES Like %@d%

وبكدة سيقوم بعمل فلتر حرفي وليس كلى فى البحث
واذا كان فارغ سيقوم بعرض جميع البيانات

تحياتى لك
وتمنياتى لك التوفيق
شكرا لكم جميعا احبتي في الله.الان بكود الاخ عابر سبيل و elgoker تتم الفلترة جيدة بارك الله فيكم على حسن تعاونكم
الشكر لله والحمد لله

تحياتى لك
وتمنياتى لك التوفيق