تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[مشروع] أحدث مثال(لماقدمته) لتصفح البيانات مجموعة مجموعة وليس صف صف
#1



فورم العرض والتصفح
كود :
'#####################################
'##########برمجة أخيكم سعود ########
'########## 1439 ah | 2018  ##########

'@ http://vb4arb.com/vb/member.php?action=register&uid=21 @
'#####################################
Public Class Form1
   Dim rows As Integer = 0
   Dim list As New List(Of String)
   Dim pa As Integer = 0
   Private Sub rowscount()
       Using con As New OleDb.OleDbConnection("provider=microsoft.ace.oledb.12.0;data source=db.accdb")
           Using cm As New OleDb.OleDbCommand("select count(tid) from tb", con)
               If con.State = ConnectionState.Closed Then con.Open()
               rows = cm.ExecuteScalar
               If con.State = ConnectionState.Open Then con.Close()
           End Using
       End Using
   End Sub


   Private Sub setgroup()
       lbl.Text = pa & " From " & list.Count - 1
   End Sub

   Private Function pagecount() As Integer
       Dim wanted As Double = (rows / 5)
       Dim Rounded As Integer = Math.Round(wanted)
       If Rounded < wanted Then
           wanted = Rounded + 1
       Else
           wanted = Rounded
       End If
       Return wanted
   End Function

   Private Sub Addrows()
       For r As Integer = 1 To 100
           Using con As New OleDb.OleDbConnection("provider=microsoft.ace.oledb.12.0;data source=db.accdb")
               Using cm As New OleDb.OleDbCommand("insert into tb(tname) values(@tname)", con)
                   cm.Parameters.AddWithValue("@tname", "Name:_" & r)
                   If con.State = ConnectionState.Closed Then con.Open()
                   cm.ExecuteNonQuery()
               End Using
               If con.State = ConnectionState.Open Then con.Close()
           End Using
       Next
   End Sub

   Public Sub gd()
       rowscount()
       '(ItemsNumber * t) - ItemsNumber
       For t As Integer = 1 To pagecount()
           Dim m As Integer = (5 * t) - 5
           If m > 0 Then
               list.Add(m)
           End If
       Next
       Button1.PerformClick()

   End Sub


   Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
       gd()
   End Sub






   Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
       '  If list.Count <= 0 Then Exit Sub
       Dim sql As String = ""
       tid.DataBindings.Clear()
       tname.DataBindings.Clear()
       dob.DataBindings.Clear()
       pic.DataBindings.Clear()
       pa = 0
       If list.Count = 0 Then
           sql = "select top 5 * from tb"
       Else
           sql = "select top " & list(pa) & " * from tb"
       End If


       Using con As New OleDb.OleDbConnection("provider=microsoft.ace.oledb.12.0;data source=db.accdb")
           Using da As New OleDb.OleDbDataAdapter(sql, con)
               Using dt As New DataTable
                   da.Fill(dt)
                   tid.DataBindings.Add("text", dt, "tid")
                   tname.DataBindings.Add("text", dt, "tname")
                   dob.DataBindings.Add("text", dt, "dob", True)
                   pic.DataBindings.Add("image", dt, "pic", True)
                   d.DataSource = dt

                   d.Columns(0).HeaderText = "م"
                   d.Columns(0).Width = 50
                   d.Columns(1).Width = 200
                   d.Columns(2).Width = 150
                   d.Columns(3).Width = 130

                   d.Columns(1).HeaderText = "الاسم"
                   d.Columns(2).HeaderText = "الميلاد"
                   d.Columns(3).HeaderText = "الصورة"
               End Using
           End Using
       End Using
       setgroup()
   End Sub

   Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
       tid.DataBindings.Clear()
       tname.DataBindings.Clear()
       dob.DataBindings.Clear()
       pic.DataBindings.Clear()
       If list.Count = 0 Then Exit Sub

       pa = list.Count - 1
       Using con As New OleDb.OleDbConnection("provider=microsoft.ace.oledb.12.0;data source=db.accdb")
           Using da As New OleDb.OleDbDataAdapter("select top 5 * from tb where tid not in (select top " & list(pa) & " tid from tb)", con)
               Using dt As New DataTable
                   da.Fill(dt)
                   tid.DataBindings.Add("text", dt, "tid")
                   tname.DataBindings.Add("text", dt, "tname")
                   dob.DataBindings.Add("text", dt, "dob", True)
                   pic.DataBindings.Add("image", dt, "pic", True)

                   d.DataSource = dt
               End Using
           End Using
       End Using
       setgroup()
   End Sub

   Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
       tid.DataBindings.Clear()
       tname.DataBindings.Clear()
       dob.DataBindings.Clear()
       pic.DataBindings.Clear()

       If list.Count = 0 Then Exit Sub
       If pa = list.Count - 1 Then
           Button4.PerformClick()
       Else


           Using con As New OleDb.OleDbConnection("provider=microsoft.ace.oledb.12.0;data source=db.accdb")
               Using da As New OleDb.OleDbDataAdapter("select top 5 * from tb where tid not in (select top " & list(pa) & " tid from tb)", con)
                   Using dt As New DataTable
                       da.Fill(dt)
                       tid.DataBindings.Add("text", dt, "tid")
                       tname.DataBindings.Add("text", dt, "tname")
                       dob.DataBindings.Add("text", dt, "dob", True)
                       pic.DataBindings.Add("image", dt, "pic", True)

                       d.DataSource = dt
                   End Using
               End Using
           End Using
           pa += 1
         
           setgroup()

       End If




   End Sub


   Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
       tid.DataBindings.Clear()
       tname.DataBindings.Clear()
       dob.DataBindings.Clear()
       pic.DataBindings.Clear()


       If pa = 0 Then
           Button1.PerformClick()
       Else
           pa -= 1
           If pa < 0 Then
               pa = 0
           End If
           Using con As New OleDb.OleDbConnection("provider=microsoft.ace.oledb.12.0;data source=db.accdb")
               Using da As New OleDb.OleDbDataAdapter("select top 5 * from tb where tid not in (select top " & list(pa) & " tid from tb)", con)
                   Using dt As New DataTable
                       da.Fill(dt)
                       tid.DataBindings.Add("text", dt, "tid")
                       tname.DataBindings.Add("text", dt, "tname")
                       dob.DataBindings.Add("text", dt, "dob", True)
                       pic.DataBindings.Add("image", dt, "pic", True)

                       d.DataSource = dt
                   End Using
               End Using
           End Using
       End If
       setgroup()
   End Sub






   Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
       Addone.ShowDialog()
   End Sub

   Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click
       Editone.tid.Text = Me.tid.Text
       Editone.tname.Text = Me.tname.Text
       Editone.dob.Text = Me.dob.Text
       Editone.pic.Image = Me.pic.Image
       Editone.ShowDialog()
   End Sub

   Private Sub Button7_Click(sender As Object, e As EventArgs) Handles Button7.Click
       Using con As New OleDb.OleDbConnection("provider=microsoft.ace.oledb.12.0;data source=db.accdb")
           Using cm As New OleDb.OleDbCommand("delete from tb where tid=@tid", con)
               cm.Parameters.AddWithValue("@tid", Val(tid.Text))
               If con.State = ConnectionState.Closed Then con.Open()
               cm.ExecuteNonQuery()
               If con.State = ConnectionState.Open Then con.Close()
               Button1.PerformClick()
           End Using
       End Using

   End Sub
End Class
فورم الاضافة
كود :
Imports System.IO

Public Class Addone

   Private Sub pic_Click(sender As Object, e As EventArgs) Handles pic.Click
       Dim o As New OpenFileDialog
       If o.ShowDialog = Windows.Forms.DialogResult.OK Then
           pic.Image = Image.FromFile(o.FileName)
       End If
   End Sub

   Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
       If tname.Text.Trim = "" Or dob.Text.Trim = "" Then
           MsgBox("اضف اسم وتاريخ ميلاد", MsgBoxStyle.Critical, "")
           Exit Sub
       End If

       If IsNothing(pic.Image) = False Then
           Dim ms As New MemoryStream
           pic.Image.Save(ms, pic.Image.RawFormat)
           Using con As New OleDb.OleDbConnection("provider=microsoft.ace.oledb.12.0;data source=db.accdb")
               Using cm As New OleDb.OleDbCommand("insert into tb(tname,dob,pic) values(@tname,@dob,@pic)", con)
                   cm.Parameters.AddWithValue("@tname", tname.Text)
                   cm.Parameters.AddWithValue("@dob", CDate(dob.Text).ToShortDateString)
                   cm.Parameters.AddWithValue("@pic", ms.ToArray)
                   If con.State = ConnectionState.Closed Then con.Open()
                   cm.ExecuteNonQuery()
               End Using
               If con.State = ConnectionState.Open Then con.Close()
           End Using
       Else
           'Dim ms As New MemoryStream
           '  pic.Image.Save(ms, pic.Image.RawFormat)
           Using con As New OleDb.OleDbConnection("provider=microsoft.ace.oledb.12.0;data source=db.accdb")
               Using cm As New OleDb.OleDbCommand("insert into tb(tname,dob) values(@tname,@dob)", con)
                   cm.Parameters.AddWithValue("@tname", tname.Text)
                   cm.Parameters.AddWithValue("@dob", CDate(dob.Text).ToShortDateString)
                   ' cm.Parameters.AddWithValue("@pic", ms.ToArray)
                   If con.State = ConnectionState.Closed Then con.Open()
                   cm.ExecuteNonQuery()
               End Using
               If con.State = ConnectionState.Open Then con.Close()
           End Using

       End If

       Close()
       Form1.gd()
       Form1.Button4.PerformClick()
   End Sub
End Class
فورم التعديل
PHP كود :
Imports System.IO

Public Class Editone

    Private Sub Button1_Click
(sender As ObjectAs EventArgsHandles Button1.Click
        If IsNothing
(pic.Image) = False Then
            Dim ms 
As New MemoryStream
            pic
.Image.Save(mspic.Image.RawFormat)
 
           Using con As New OleDb.OleDbConnection("provider=microsoft.ace.oledb.12.0;data source=db.accdb")
 
               Using cm As New OleDb.OleDbCommand("update tb set tname=@tname,dob=@dob,pic=@pic where tid=@tid"con)
 
                   cm.Parameters.AddWithValue("@tname"tname.Text)
 
                   cm.Parameters.AddWithValue("@dob"CDate(dob.Text).ToShortDateString)
 
                   cm.Parameters.AddWithValue("@pic"ms.ToArray)
 
                   cm.Parameters.AddWithValue("@tid"Val(tid.Text))

 
                   If con.State ConnectionState.Closed Then con.Open()
 
                   cm.ExecuteNonQuery()
 
               End Using
                If con
.State ConnectionState.Open Then con.Close()
 
           End Using
        Else
            
'Dim ms As New MemoryStream
            ' 
 pic.Image.Save(mspic.Image.RawFormat)
 
           Using con As New OleDb.OleDbConnection("provider=microsoft.ace.oledb.12.0;data source=db.accdb")
 
               Using cm As New OleDb.OleDbCommand("update tb set tname=@tname,dob=@dob where tid=@tid"con)
 
                   cm.Parameters.AddWithValue("@tname"tname.Text)
 
                   cm.Parameters.AddWithValue("@dob"CDate(dob.Text).ToShortDateString)
 
                   ' cm.Parameters.AddWithValue("@pic", ms.ToArray)
                    cm.Parameters.AddWithValue("@tid", Val(tid.Text))

                    If con.State = ConnectionState.Closed Then con.Open()
                    cm.ExecuteNonQuery()
                End Using
                If con.State = ConnectionState.Open Then con.Close()
            End Using

        End If

        Close()
    End Sub

    Private Sub pic_Click(sender As Object, e As EventArgs) Handles pic.Click
        Dim o As New OpenFileDialog
        If o.ShowDialog = Windows.Forms.DialogResult.OK Then
            pic.Image = Image.FromFile(o.FileName)
        End If

    End Sub
End Class 


مستغرب من حاجة!Sad
فيجوال استوديو 2017 مخرجاته ضخمة تصور مشروع لا يحتوي الا على ملف اكسس بسيط وفارغ وحجمه المشروع ميجا ونص!!!


الملفات المرفقة
.rar   PagingExampleInVbUsingWform.rar (الحجم : 197.82 ك ب / التحميلات : 309)
}}}
#2
السّلام عليكم و رحمة الله و بركاته
بارك الله فيك و لك أخي الكريم " سعود "
مثال رائع ربنا يزيدك من علمه و فضلة .. فقط بعد إذنك ملاحظة صغيرة أرجو تقبّلها بصدر رحب
لو عن طريق السهو مثلما حدث معي كتبت نص و ليس تاريخ بتاكست تاريخ الميلاد .. ينتج خطأ
تحياتي
قناتنا على اليوتوب
}}}
تم الشكر بواسطة: سعود
#3
(21-04-18, 01:37 PM)عبد العزيز البسكري كتب :
السّلام عليكم و رحمة الله و بركاته
بارك الله فيك و لك أخي الكريم " سعود "
مثال رائع ربنا يزيدك من علمه و فضلة .. فقط بعد إذنك ملاحظة صغيرة أرجو تقبّلها بصدر رحب
لو عن طريق السهو مثلما حدث معي كتبت نص و ليس تاريخ بتاكست تاريخ الميلاد .. ينتج خطأ
تحياتي

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

PHP كود :
 If IsDate(dob.Text) = False Then
            MsgBox
("حقل التاريخ خاطيء"MsgBoxStyle.Critical"")
 
           Exit Sub
        End 
If 
}}}
#4
شكرا علي المثال
ولدي استفسار .؟ ليه بتكرر نص الاتصال في كل حدث ؟

Using con As New OleDb.OleDbConnection("provider=microsoft.ace.oledb.12.0;data source=db.accdb")
}}}
تم الشكر بواسطة:
#5
(17-11-22, 01:12 PM)abdou كتب : شكرا علي المثال
ولدي استفسار .؟ ليه بتكرر نص الاتصال في كل حدث ؟

 Using con As New OleDb.OleDbConnection("provider=microsoft.ace.oledb.12.0;data source=db.accdb")

حسب الشروح اللي اطلعت عليها و نصائح الاخوة هنا انه يتم غلق الاتصال بعد انتهاء الاجراء المطلوب,,,,و يمكنك الاستغناء عنها باي اجراء تراه مناسب .
}}}
تم الشكر بواسطة: abdou , Taha Okla


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [مشروع] مثال بسيط لقفل وفك قفل كلمة مرور اكسس مع الضغط سعود 4 4,147 21-08-22, 01:33 AM
آخر رد: سعود
  [مشروع] مثال بسيط (الاجراءات المخزنة - اكسس 2010 + فيجوال بيسك 2015) سعود 7 8,969 20-01-21, 04:12 AM
آخر رد: سعود
Heart [مشروع] [تم إرفاق المشروع-سقط سهوا]مثال الاضافة الى جدولين بينهم علاقة مخصصة سعود 8 5,811 09-11-20, 08:03 PM
آخر رد: سعود
  مثال لفحص حالة ملف قاعدة بيانات من نوع اكسس من حيث الاستخدام من عدمه سعود 0 2,434 31-05-20, 07:17 AM
آخر رد: سعود
  مثال تغيير اسم المستخدم وكلمة المرور اعتمادا على الرقم الفريد سعود 5 6,325 02-01-18, 05:35 PM
آخر رد: سعود
  [مشروع] مثال اعادة الترقيم لعمود في الجدول سعود 0 2,682 09-09-17, 06:52 AM
آخر رد: سعود
  [مشروع] مثال تصفح البيانات مجموعة مجموعة سعود 0 2,408 01-08-17, 12:10 AM
آخر رد: سعود
  [مشروع] مثال(كود انشاء(قاعدة بيانات + جدول + اعمدة) تصفير العداد) مع اضافة صور والبحث المطلق سعود 14 21,836 06-06-17, 05:35 PM
آخر رد: Abdh111
Wink [مشروع] مثال إرتجالي عن برنامج بقالة (او اي شي حولها) سعود 5 7,247 21-01-17, 07:17 AM
آخر رد: سعود
  [مشروع] مثال نسخ آخر صف من DataTable الى أخرى عند الاغلاق سعود 0 2,296 29-08-16, 09:11 AM
آخر رد: سعود

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


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