تقييم الموضوع :
  • 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 ك ب / التحميلات : 105)
.rar   2012.rar (الحجم : 17.71 ك ب / التحميلات : 78)
الرد }}}
تم الشكر بواسطة: أبوسعود , Ahmed_Mansoor , Ahmed_Mansoor , عمور2016 , gadr
#2
السلام عليكم

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

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


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  طريقة التعامل مع قاعدة البيانات وربطها بالفيجوال بيسك 6 ENG.MPROG 11 22,043 21-02-24, 08:29 PM
آخر رد: Nasa_use
  طلب مساعدة " البحث بأكثر من معامل " (صاحب البرنامج الأصلي Raggi Tech ) AEDC 7 2,419 18-06-23, 12:23 PM
آخر رد: Taha Okla
  طلب طريقة نقل البيانات من جدول الي جدول اخر في قاعدة بيانات اخر ahmed201 2 2,340 01-03-21, 12:14 AM
آخر رد: ahmed201
  [سؤال] البرنامج لا يقرأ من قاعدة البيانات بعد تنصيب البرنامج على ويندوز 10 aboezzat84 4 2,207 03-01-21, 02:58 AM
آخر رد: aboezzat84
  [سؤال] كيفية تشغيل قاعدة بيانات برنامج VB6+Access على شبكة داخليه aboezzat84 3 2,613 24-01-19, 03:30 PM
آخر رد: sendbad100
  [سؤال] طريقة عمل scrollbar على الفورم Emad Nashaat 1 2,051 14-07-17, 12:14 PM
آخر رد: Amir_Alzubidy
  مشكلة في البحث والتعديل في البرنامج thams 1 2,220 29-01-17, 10:04 PM
آخر رد: عبد العزيز البسكري
  كيف اجعل المستخد م يحدد قاعدة بيانات البرنامج يدوياً من خلال البرنامج والعمل عليها ؟؟ softmail8 4 3,461 27-01-17, 08:08 PM
آخر رد: awidan76
  مساعدة فى حل مشكلة البرنامج abosara 7 4,275 20-09-16, 10:30 PM
آخر رد: Amir_Alzubidy
  السلام عليكم ممكن طلب طريقة ربط اكسس به صورة مع الفجوال عن طريق adodc rafed 4 3,851 29-01-15, 08:25 PM
آخر رد: yazan90

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


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