السلام عليكم
أنا ربط قاعدة بيانات الاكسس مع الفيجوال بيسك . نت 2005 عند طريق الكود بس الاضافة و التعديل و الحذف ما زبطت
هذا كود الفورم الرئيسي تم فيه استرجاع المعلومات
Imports System.Data
Imports System.Data.OleDb
Public Class Form2
Dim constr As String = "provider=microsoft.jet.oledb.4.0;" & "data source=" & Application.StartupPath & "\db1.mdb"
Dim conn As New OleDbConnection(constr)
Dim dataset1 As New DataSet
Dim Sqlstr As String = " select * from شامل"
Public Sub changepostion()
' هذه الدالة لعرض رقم السجل الحالي من كافة السجلات
Label12.Text = Me.BindingContext(dataset1, "شامل").Position + 1
' رقم السجل الحالي حيث يبدأ من 1 بدلا من الصفر
Label14.Text = Me.BindingContext(dataset1, "شامل").Count
' عدد السجلات الكلي
End Sub
Private Sub form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
conn.Open()
Dim dataadapter1 As New OleDbDataAdapter(Sqlstr, conn)
dataadapter1.Fill(dataset1, "شامل")
conn.Close()
TextBox1.DataBindings.Add("text", dataset1, "شامل.القسم")
TextBox2.DataBindings.Add("text", dataset1, "شامل.عدد أعضاء هيئة التدريس")
TextBox3.DataBindings.Add("text", dataset1, "شامل.عدد اللاتي على رأس العمل")
TextBox5.DataBindings.Add("text", dataset1, "شامل.عدد المحاضرات")
TextBox6.DataBindings.Add("text", dataset1, "شامل.عدد الدكتورات")
TextBox7.DataBindings.Add("text", dataset1, "شامل.عدد المتعاونات")
TextBox8.DataBindings.Add("text", dataset1, "شامل.عدد الاداريات")
TextBox9.DataBindings.Add("text", dataset1, "شامل.عدد المتعاونات")
changepostion()
End Sub
'السجل الاول
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Me.BindingContext(dataset1, "شامل").Position = 0
changepostion()
End Sub
'السجل السابق
Private Sub Button9_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button9.Click
Me.BindingContext(dataset1, "شامل").Position -= 1
changepostion()
End Sub
'السجل التالي
Private Sub Button10_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button10.Click
Me.BindingContext(dataset1, "شامل").Position += 1
changepostion()
End Sub
' السجل الاخير
Private Sub Button8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button8.Click
Me.BindingContext(dataset1, "شامل").Position = Me.BindingContext(dataset1, "شامل").Count - 1
changepostion()
End Sub
' فتح فورم اضافة سجل
Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
Form3.Show()
Me.Hide()
End Sub
'حذف سجل
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
If MsgBox("هل تريد حذف السجل الحالي", MsgBoxStyle.OkCancel) = MsgBoxResult.Cancel Then
Exit Sub
End If
Dim saveInto As New OleDb.OleDbCommand
Dim dataadapter1 As New OleDbDataAdapter(Sqlstr, conn)
saveInto.Connection = conn
saveInto.CommandType = CommandType.Text
saveInto.CommandText = "delet from شامل where القسم='" & Trim(TextBox1.Text) & " ' "
conn.Open()
saveInto.ExecuteNonQuery()
dataset1.Clear()
dataadapter1.Fill(dataset1, "شامل")
conn.Close()
MsgBox("تمت عملية الحذف بقاعدة البيانات بنجاح")
changepostion()
End Sub
' فتح فورم التعديل
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
Dim edit As New Form4
Form4.TextBox1.Text = Me.TextBox1.Text
Form4.TextBox2.Text = Me.TextBox2.Text
Form4.TextBox3.Text = Me.TextBox3.Text
Form4.TextBox7.Text = Me.TextBox7.Text
Form4.TextBox6.Text = Me.TextBox6.Text
Form4.TextBox5.Text = Me.TextBox5.Text
Form4.TextBox9.Text = Me.TextBox9.Text
Form4.TextBox8.Text = Me.TextBox8.Text
Form4.Label1.Text = Me.TextBox1.Text
' يأخذ الفورم محتويات مربعات النص للسجل الحالي
' عرض فورم التعديل
Form4.Show()
Me.Hide()
End Sub
' اغلاق الصفحة
Private Sub Button7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button7.Click
Dim a As String
a = MessageBox.Show("هل تريد الاغلاق؟ ", "", MessageBoxButtons.YesNo)
If a = Windows.Forms.DialogResult.Yes Then
Me.Hide()
Else
Me.Show()
End If
End Sub
' x اللي فوق
Private Sub cancel_FormClosing(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles MyBase.FormClosing
If MessageBox.Show("هل تريد الاغلاق؟", "", MessageBoxButtons.YesNo) = Windows.Forms.DialogResult.Yes Then
Me.Hide()
Else
e.Cancel = True
End If
End Sub
' الرجوع للصفحة السابقة
Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click
Form1.Show()
Me.Hide()
End Sub
End Class
--------------------
هذا طود اضافة بس ما زبط
Imports system.data
Imports System.Data.OleDb
Public Class Form3
Dim main As New Form2
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
' زر الحفظ
Try
Dim saveInto As New OleDb.OleDbCommand
Dim constr As String = "provider=microsoft.jet.oledb.4.0;" & "data source=" & Application.StartupPath & "\db1.mdb"
Dim conn As New OleDbConnection(constr)
saveInto.Connection = conn
saveInto.CommandType = CommandType.Text
saveInto.CommandText = " Insert Into القسم ,عدد أعضاء هيئة التدريس,عدد اللاتي على رأس العمل,عدد المتعاونات,عدد الدكتورات,عدد المحاضرات,عدد المعيدات,عدد الاداريات) شامل)" & -"values ('" & TextBox1.Text & "','" & TextBox2.Text & "','" & TextBox3.Text & "' ,'" & TextBox5.Text & "', ','" & TextBox6.Text & "','" & TextBox7.Text & "','" & TextBox8.Text & "','" & TextBox9.Text & "')"
conn.Open()
saveInto.ExecuteNonQuery()
conn.Close()
MsgBox("تمت عملية الاضافة و الحفظ بقاعدة البيانات بنجاح")
Me.Close()
Form2.Show()
Catch ex As Exception
Exit Sub
End Try
End Sub
' زر الغاء
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Me.Hide()
Form2.Show()
End Sub
Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click
Form2.Show()
Me.Hide()
End Sub
Private Sub Button7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button7.Click
Dim a As String
a = MessageBox.Show("هل تريد الاغلاق؟ ", "", MessageBoxButtons.YesNo)
If a = Windows.Forms.DialogResult.Yes Then
Me.Hide()
Else
Me.Show()
End If
End Sub
' x اللي فوق
Private Sub cancel_FormClosing(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles MyBase.FormClosing
If MessageBox.Show("هل تريد الاغلاق؟", "", MessageBoxButtons.YesNo) = Windows.Forms.DialogResult.Yes Then
Me.Hide()
Else
e.Cancel = True
End If
End Sub
End Class
---------------------------
هذا كود التعديل
Imports System.Data
Imports System.Data.OleDb
Public Class Form4
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim n As String = Label1.Text
Dim Savecommand As New OleDb.OleDbCommand
Dim Connectionstring As String = _
"Provider=Microsoft.Jet.OLEDB.4.0; Data Source =" & _
Application.StartupPath & "\db1.mdb"
Dim newconnection As New OleDbConnection(Connectionstring)
Savecommand.Connection = newconnection
Savecommand.CommandType = CommandType.Text
Savecommand.CommandText = "UPDATE شامل SET القسم = '" & Trim(TextBox1.Text) & "' , عدد أعضاء هيئة التدريس = '" & Trim(TextBox2.Text) & "' , عدد اللاتي على رأس العمل = '" & Trim(TextBox3.Text) & "' , عدد المتعاونات = '" & Trim(TextBox7.Text) & "' , عدد الدكتورات= '" & Trim(TextBox6.Text) & "' , عدد المحاضرات = '" & Trim(TextBox5.Text) & "' , عدد المعيدات = '" & Trim(TextBox9.Text) & "' , عدد أعضاء هيئة التدريس = '" & Trim(TextBox2.Text) & "' , عدد الاداريات = '" & Trim(TextBox8.Text) & "' WHERE القسم ='" & n & "'"
newconnection.Open()
Savecommand.ExecuteNonQuery()
newconnection.Close()
MsgBox("تمت عملية الاضافة والحفظ في قاعدة البيانات بنجاح")
Me.Close()
Form2.Show()
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Me.Close()
Form2.Show()
End Sub
Private Sub Button7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button7.Click
Dim a As String
a = MessageBox.Show("هل تريد الاغلاق؟ ", "", MessageBoxButtons.YesNo)
If a = Windows.Forms.DialogResult.Yes Then
Me.Hide()
Else
Me.Show()
End If
End Sub
' x اللي فوق
Private Sub cancel_FormClosing(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles MyBase.FormClosing
If MessageBox.Show("هل تريد الاغلاق؟", "", MessageBoxButtons.YesNo) = Windows.Forms.DialogResult.Yes Then
Me.Hide()
Else
e.Cancel = True
End If
End Sub
Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click
Form2.Show()
Me.Hide()
End Sub
End Class
-------------------
يطلع خطأ في جملة
saveInto.executenovquery()
وهو invaild sql statment
أرجو المساعدة بسرعة
شكرا