أحدث مثال(لماقدمته) لتصفح البيانات مجموعة مجموعة وليس صف صف - سعود - 21-04-18
فورم العرض والتصفح
كود :
'#####################################
'##########برمجة أخيكم سعود ########
'########## 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 Object, e As EventArgs) Handles Button1.Click 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("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(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("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
مستغرب من حاجة!
فيجوال استوديو 2017 مخرجاته ضخمة تصور مشروع لا يحتوي الا على ملف اكسس بسيط وفارغ وحجمه المشروع ميجا ونص!!!
RE: أحدث مثال(لماقدمته) لتصفح البيانات مجموعة مجموعة وليس صف صف - عبد العزيز البسكري - 21-04-18
السّلام عليكم و رحمة الله و بركاته
بارك الله فيك و لك أخي الكريم " سعود "
مثال رائع ربنا يزيدك من علمه و فضلة .. فقط بعد إذنك ملاحظة صغيرة أرجو تقبّلها بصدر رحب
لو عن طريق السهو مثلما حدث معي كتبت نص و ليس تاريخ بتاكست تاريخ الميلاد .. ينتج خطأ
تحياتي
RE: أحدث مثال(لماقدمته) لتصفح البيانات مجموعة مجموعة وليس صف صف - سعود - 21-04-18
(21-04-18, 01:37 PM)عبد العزيز البسكري كتب : السّلام عليكم و رحمة الله و بركاته
بارك الله فيك و لك أخي الكريم " سعود "
مثال رائع ربنا يزيدك من علمه و فضلة .. فقط بعد إذنك ملاحظة صغيرة أرجو تقبّلها بصدر رحب
لو عن طريق السهو مثلما حدث معي كتبت نص و ليس تاريخ بتاكست تاريخ الميلاد .. ينتج خطأ
تحياتي
الامر بسيط اخي الكريم لان الهدف الاساسي لوضع المثال هو التصفح فقط اما هذا التاريخ فالتحقق منه سهل للغاية.
PHP كود :
If IsDate(dob.Text) = False Then MsgBox("حقل التاريخ خاطيء", MsgBoxStyle.Critical, "") Exit Sub End If
RE: أحدث مثال(لماقدمته) لتصفح البيانات مجموعة مجموعة وليس صف صف - abdou - 17-11-22
شكرا علي المثال
ولدي استفسار .؟ ليه بتكرر نص الاتصال في كل حدث ؟
Using con As New OleDb.OleDbConnection("provider=microsoft.ace.oledb.12.0;data source=db.accdb")
RE: أحدث مثال(لماقدمته) لتصفح البيانات مجموعة مجموعة وليس صف صف - سعود - 19-11-22
(17-11-22, 01:12 PM)abdou كتب : شكرا علي المثال
ولدي استفسار .؟ ليه بتكرر نص الاتصال في كل حدث ؟
Using con As New OleDb.OleDbConnection("provider=microsoft.ace.oledb.12.0;data source=db.accdb")
حسب الشروح اللي اطلعت عليها و نصائح الاخوة هنا انه يتم غلق الاتصال بعد انتهاء الاجراء المطلوب,,,,و يمكنك الاستغناء عنها باي اجراء تراه مناسب .
|