السلام عليكم ورحمة الله وبركاته
هذا مثال يوضح كيفية استخدام Execute في الفيجول بيسك بطريقة ADO
اولا كون قاعدة بيانات باسم db1 ببرنامج Access تحتوي على جدول واحد باسم tbl يحتوي هذا الجدول على ثلاثة حقول
- fld1 من نوع رقم (number)
- fld2 من نوع نص (text)
- fld3 من نوع نص (text)
تم افتح الفيجول بيسك كون مشروع جديد
انشاء ثلاثة من تكست بوكس (Textbox)
تم انشاء اربعة ازرار (Command) سمي الاول بحث والثاني إضافة والثالث تعديل والرابع حذف تم احفظ المشروع في نفس مجلد الذي يحتوي على قاعدة البيانات.
تم ادخال على الكود وألصق داخله الكوود التالي :
Public cn As New ADODB.Connection
Public rs As New ADODB.Recordset
Sub cleartext()
'مسح التكست
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
End Sub
Private Sub Form_Load()
If Dir("" & App.Path & "\db1.mdb") <> "" Then
cn.Open "Provider=Microsoft.jet.OLEDB.4.0;Data Source=" & App.Path & "\db1.mdb"
cleartext
Else
MsgBox "لا توجد قاعدة بيانات"
End If
End Sub
Private Sub Command1_Click()
'البحث على سجل
If Text1.Text <> "" Then
Set rs = cn.Execute("select * from tbl where fld1=" & Trim(Text1.Text) & "")
If Not rs.EOF Then
cleartext
'لعرض نتيجة البحث في تكست
Set Text1.DataSource = rs
Text1.DataField = "fld1"
Set Text2.DataSource = rs
Text2.DataField = "fld2"
Set Text3.DataSource = rs
Text3.DataField = "fld3"
Else
cleartext
MsgBox "هذا السجل غير موجود"
End If
End If
End Sub
Private Sub Command2_Click()
'إضافة سجل جديد
If Text1.Text <> "" And Text2.Text <> "" And Text3.Text <> "" Then
'البحث عن السجل لتأكد من انه موجود
Set rs = cn.Execute("select * from tbl where fld1=" & Trim(Text1.Text) & "")
If rs.EOF Then
cn.Execute "insert into tbl(fld1,fld2,fld3) values(" & Trim(Text1.Text) & ",'" & Trim(Text2.Text) & "','" & Trim(Text3.Text) & "')"
cleartext
Else
MsgBox "السجل تمت إضافته سابقاً"
End If
End If
End Sub
Private Sub Command3_Click()
'التعديل في سجل قديم
If Text1.Text <> "" And Text2.Text <> "" And Text3.Text <> "" Then
'البحث عن السجل
Set rs = cn.Execute("select * from tbl where fld1=" & Trim(Text1.Text) & "")
If Not rs.EOF Then
cn.Execute "update tbl set fld1=" & Trim(Text1.Text) & ", fld2='" & Trim(Text2.Text) & "', fld3='" & Trim(Text3.Text) & "' where fld1=" & Trim(Text1.Text) & ""
cleartext
Else
MsgBox "السجل غير موجود"
End If
End If
End Sub
Private Sub Command4_Click()
If Text1.Text <> "" Then
'البحث عن السجل
Set rs = cn.Execute("select * from tbl where fld1=" & Trim(Text1.Text) & "")
If Not rs.EOF Then
cn.Execute "delete from tbl where fld1=" & Trim(Text1.Text) & ""
cleartext
Else
MsgBox "السجل غير موجود"
End If
End If
End Subطريقة عمل كالتالي :
اكتب رقم في التكست الأول و اكتب اي نص في التكست الثاني والثالث تم اضغط على إضافة فيتم حفظ البيانات .
ويمكن البحث على السجل باستخدام امر البحث وذلك بكتابة رقم الذي إظفته في التكست الأول اذا كان موجود يسعرض البيانات واذا كان الرقم غير موجود سيعطي رسالة .
وتمنياتي بالتوفيق
والسلام عليكم ورحمة الله وبركاته