تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
شرح : طريقة للتنقل بين قواعدالبيانات اثناء تشغيل البرنامج
#1
السلام عليكم ورحمة الله وبركاته

ساقوم بشرح طريقه بسيطه للتنقل بين قواعد البيانات داخل البرنامج وقت التنفيذ الطريقه صغيره لكن مع تفعيلها وتطويرها يمكن الاستفاده منها من خلال التنقل بين السنوات الماليه للمشاريع المحاسبيه او الصغيره اوالمتوسطه.
الشرح نقلته من المنتدى السابق وهو لم يكن موضوع بل كان رد (جواب) لي على عضو يسمى الاهدل يستفسر عن تغيير مسار قاعدة البيانات من داخل البرنامج وكان الجواب كما يلي
بسم الله نبدا الشرح .
اولا قم بعمل مجلدات داخل مجلد المشروع واعط المجلدات اسماء باسماء الاعوام مثل مجلد باسم 2011 ومجلد باسم 2012

ثانيا قم بخزن قاعدة البيانات داخل المجلدات وبامكانك خزن قواعد بيانات مختلفة الاسماء والجداول مختلفه وليست ضروره ان تكون الاسماء متشابهه لكن في الشرح ساقوم باستخدام نفس الاسماء للقواعد وكذلك الجداول وسيكون اسم القواعد db1 والجداول table1 والحقول name1 و y .
واسماء المجلدات التي ستخزن عليها القواعد تكون 2011 و 2012 .

الان انتقل الى المشروع في الفيجوال واضف Combo1 و Text1 و Text2
واجعل style الخاص ب Combo1 = 2 opdwnlist لكي لايتم الكتابه داخل Combo1 .

الان اذهب الى صفحة الاكواد
في قسم التصريحات

لتعريف الاتصال

Dim RS As New ADODB.Recordset
Dim DB As New ADODB.Connection

في Form_Load لتعبئة Combo1 بالاعوام
Private Sub Form_Load()

Combo1.AddItem "2010"
Combo1.AddItem "2011"
Combo1.AddItem "2012"
Combo1.AddItem "2013"

End Sub

الان نعمل اجراءت لاستدعائها عند اختيار العام من Combo1

الاجراء الاول سنسميه y2011 وسنقوم باضافة كود الاتصال بقاعدة البيانات التي توجد داخل المجلد2011 وسنضيف للاجراء كود فتح الجدول كود جلب البيانات من الحقول الى Text1 و Text2

الكود
Public Sub y2011()
Set DB = New ADODB.Connection
Set RS
= New ADODB.Recordset

DB
.Open "provider = microsoft.jet.oledb.4.0;data source = " & App.Path & "\2011\db1.mdb"
RS.Open "[Table1]", DB, adOpenStatic, adLockPessimistic
Text1
.Text = RS!Name1
Text2
.Text = RS!y
End Sub

والان الاجراء y2012 وهو نفس الاكواد التي في الاجراء y2011 بما ان القواعد والحقول والجداول تحمل نفس الاسماء لكن سيتغير كود مسار قاعدة البيانات " & App.Path & "\2012\db1.mdb"

الكود
Public Sub y2012()
Set DB = New ADODB.Connection
Set RS
= New ADODB.Recordset
DB
.Open "provider = microsoft.jet.oledb.4.0;data source = " & App.Path & "\2012\db1.mdb"
If RS.State = adStateOpen Then RS.Close
RS
.Open "[Table1]", DB, adOpenStatic, adLockPessimistic
Text1
.Text = RS!Name1
Text2
.Text = RS!y

End Sub


الان ننتقل الى الكود الاخير وهو في Combo1 داخل حدث Click وذلك عند اختيار العام 2011 سيقوم باستدعاء الاجراء Sub y2011 ولو اخترت العام 2012 سيستدعي الاجراء Sub y2012
وذلك من خلال امر الاستدعا Call ولو كان العام الذي ستختاره لايوجد له اجراء لكي يقوم باستدعاة ستظهر رساله تفيدك بانه لايمكن الاستدعاء

الكود
:
Private Sub Combo1_Click()
If
Combo1.Text = "2011" Then
Call y2011
ElseIf Combo1.Text = "2012" Then
Call y2012
Else

MsgBox " ادخل العام الصحيح ", vbInformation, "النتيجة"
Exit Sub
End
If

الكود بشكل كامل


Dim Db As New ADODB.Connection
Dim RS As New ADODB.Recordset

Private Sub Form_Load()

Combo1.AddItem "2010"
Combo1.AddItem "2011"
Combo1.AddItem "2012"
Combo1.AddItem "2013"

End Sub

Private Sub Combo1_Click()
If
Combo1.Text = "2011" Then
Call y2011
ElseIf Combo1.Text = "2012" Then
Call y2012
Else

MsgBox " ادخل العام الصحيح ", vbInformation, "النتيجة"
Exit Sub
End
If

End Sub

Public Sub y2011()
Set DB = New ADODB.Connection
Set RS
= New ADODB.Recordset

DB
.Open "provider = microsoft.jet.oledb.4.0;data source = " & App.Path & "\2011\db1.mdb"
RS.Open "[Table1]", DB, adOpenStatic, adLockPessimistic
Text1
.Text = RS!Name1
Text2
.Text = RS!y
End Sub
Public Sub y2012()
Set DB = New ADODB.Connection
Set RS
= New ADODB.Recordset
DB
.Open "provider = microsoft.jet.oledb.4.0;data source = " & App.Path & "\2012\db1.mdb"
If RS.State = adStateOpen Then RS.Close
RS
.Open "[Table1]", DB, adOpenStatic, adLockPessimistic
Text1
.Text = RS!Name1
Text2
.Text = RS!y

End Sub


المثال في المرفقات الذي يحمل اسم 2011 هوالذي طبقناة في الاعلى والذي يحمل اسم 2012 لم نقم بشرحه لكن يقوم باختيار قاعدة البيانات يدوياَ اثناء تنفيذالبرنامج دون عمل اي اجراءت وذلك عبر CommonDialog

بالتوفيق



الملفات المرفقة
.rar   2011.rar (الحجم : 17.67 ك ب / التحميلات : 52)
.rar   2012.rar (الحجم : 17.71 ك ب / التحميلات : 34)
الرد }}}}
تم الشكر بواسطة:
#2
السلام عليكم

تحياتي لك أخي على هذا الشرح الرائع ،،،،،

وفقك الله ..
يا عالما بحالي 
الرد }}}}
تم الشكر بواسطة:
#3
اسعدني مرورك الكريم Ahmad Jawad
الرد }}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  طريقة التعامل مع قاعدة البيانات وربطها بالفيجوال بيسك 6 ENG.MPROG 8 4,134 22-11-16, 09:38 AM
آخر رد: مزنة
  مساعدة فى حل مشكلة البرنامج abosara 7 165 20-09-16, 10:30 PM
آخر رد: Amir_alzubidy
  السلام عليكم ممكن طلب طريقة ربط اكسس به صورة مع الفجوال عن طريق adodc rafed 4 1,092 29-01-15, 08:25 PM
آخر رد: yazan90
  تشغيل ال ConnectionString ADODC على أى فولدر اسلام الكبابى 2 709 03-07-14, 08:20 PM
آخر رد: اسلام الكبابى
  اضافة حذف تعديل باستخدام طريقة ado abulayth 2 782 21-06-13, 06:39 PM
آخر رد: abulayth
  تحويل قاعدة بيانات في البرنامج الي أكسيس 2007 Ahmed Abdulla 4 947 27-05-13, 11:24 AM
آخر رد: Ahmed Abdulla
  سؤال ( نسخة احتياطية من قاعدة بيانات البرنامج عن طريق كومن ديلوج ) elhon.tec 6 798 09-05-13, 07:59 PM
آخر رد: elhon.tec
  كيف اجعل المستخد م يحدد قاعدة بيانات البرنامج يدوياً من خلال البرنامج والعمل عليها ؟؟ softmail8 3 506 02-05-13, 09:59 PM
آخر رد: محمد العبيدي
  طلب مساعدة " البحث بأكثر من معامل " (صاحب البرنامج الأصلي Raggi Tech ) AEDC 2 463 02-05-13, 02:57 PM
آخر رد: AEDC
  جعل البرنامج ملف تنفيذى اسلام الكبابى 5 731 06-03-13, 02:02 AM
آخر رد: اسلام الكبابى

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


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