تعلم كيفية ربط جدولين مختلفين فى قاعدتين بيانات مختلفتين !!!؟
صفحة 1 من اصل 1 • شاطر •
تعلم كيفية ربط جدولين مختلفين فى قاعدتين بيانات مختلفتين !!!؟
بسم الله الرحمن الرحيم
أهلا وسهلا بكم الاخوة و السادة أعضاء و زوار منتدى مصر التقنى ....اليوم ان شاء الله تعالى سنتعلم كيفية الاتصال أو ربط جدولين مختلفين فى قواعد بيانات مختلفة و الفكرة تتلخص فى المكتبة ADOX التى تمكنك من التحكم في بنية قاعدة البيانات..... لذلك في قاعدة البيانات الأولى، سيتم استخدم ADOX لإنشاء ارتباط إلى جدول في قاعدة البيانات الثانية. ثم يمكنك تنفيذ استعلام عادي لربط الجدولين....
1_ قم بفتح مشروع جديد ...ثم قم بادراج المكتبات التالية للمشروع
Microsoft ActiveX Data Objects 2.6 Library (ADO)
Microsoft ADO Ext. 2.6 for DDL and Security (ADOX)
2_ نقوم بالاعلان عن المتغيرات اللازمة و التى سيتم استخلامها وهى على النحو التالى :
3_ نقوم بالحصول أو معرفة مسار البرنامج و ذلك على النحو التالى :
4_ نقوم بالاتصال و فتح قاعدة البيانات الاولى ...وذلك باستخدام الكود التالى :
5_ نقوم بانشاء ارتباط بالجدول المراد ربطة فى قاعدة البيانات الثانية على أفتراض ان الجدول هو Employees و قادة البيانات الاخرى هى Emp و ذلك على النحو التالى :
فى السطر الاول من الكود أعلاه ...قمنا باشتقاق كائن جديد من adox_catalog
فى السطر الثانى قمنا بتحديد كائن الاتصال للكائن adox_catalog وهو الكائن conn و الذى قام بفتح قاعدة البيانات الاولى ...
فى السطر الثالث قمنا باشتقاق الكائن adox_table و الذى سيقوم بالربط و الاتصال بجدول قاعدة البيانات الثانية
فى السطر الخامس قمنا بتحديد اسم للارتباط وهو LinkedTable
و السطر السادس و السابع قمنا بتحديد قاعدة البيانات الثانية Emps.mdb ونوعها MS Access و جدوها المراد الربط به Employees
6_ إضافة الجدول إلى مجموعة الجداول....بأستخدام الكود التالى :
7_ تنفيذ استعلام لجلب البيانات من الجدولين ....باستخدام الكود التالى :
8_ عرض النتائج ....وذلك با ساتخدام الكود التالى :
وكما ترى فى الكود أعلاه قمت بعرض النتائج كلها فى مربع نص واحد و يمكنك استخدام الطريقة التلقيدة فى عرض النتائج فى أكثر من مربع نص
9_ حذف رابط الاتصال بين الجدولين باستخدام الكود التالى :
10 _ إغلاق قاعدة البيانات الاولى
conn.Close
وفى النهاية أرجوا ان يكون الدرس مفيد ....و اليكم مثال فى المرفقات
أهلا وسهلا بكم الاخوة و السادة أعضاء و زوار منتدى مصر التقنى ....اليوم ان شاء الله تعالى سنتعلم كيفية الاتصال أو ربط جدولين مختلفين فى قواعد بيانات مختلفة و الفكرة تتلخص فى المكتبة ADOX التى تمكنك من التحكم في بنية قاعدة البيانات..... لذلك في قاعدة البيانات الأولى، سيتم استخدم ADOX لإنشاء ارتباط إلى جدول في قاعدة البيانات الثانية. ثم يمكنك تنفيذ استعلام عادي لربط الجدولين....
1_ قم بفتح مشروع جديد ...ثم قم بادراج المكتبات التالية للمشروع
Microsoft ActiveX Data Objects 2.6 Library (ADO)
Microsoft ADO Ext. 2.6 for DDL and Security (ADOX)
2_ نقوم بالاعلان عن المتغيرات اللازمة و التى سيتم استخلامها وهى على النحو التالى :
- الكود:
Dim app_path As String
Dim db_file As String
Dim conn As ADODB.Connection
Dim adox_catalog As ADOX.Catalog
Dim adox_table As ADOX.Table
Dim rs As ADODB.Recordset
Dim i As Integer
Dim txt As String
3_ نقوم بالحصول أو معرفة مسار البرنامج و ذلك على النحو التالى :
- الكود:
app_path = App.Path
If Right$(app_path, 1) <> "" Then app_path = app_path _
& ""
4_ نقوم بالاتصال و فتح قاعدة البيانات الاولى ...وذلك باستخدام الكود التالى :
- الكود:
db_file = app_path & "Depts.mdb"
Set conn = New ADODB.Connection
conn.ConnectionString = _
"Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & db_file & ";" & _
"Persist Security Info=False"
conn.Open
5_ نقوم بانشاء ارتباط بالجدول المراد ربطة فى قاعدة البيانات الثانية على أفتراض ان الجدول هو Employees و قادة البيانات الاخرى هى Emp و ذلك على النحو التالى :
- الكود:
Set adox_catalog = New ADOX.Catalog
Set adox_catalog.ActiveConnection = conn
Set adox_table = New ADOX.Table
With adox_table
Set .ParentCatalog = adox_catalog
.Name = "LinkedTable"
.Properties("Jet OLEDB:Link Datasource") = app_path & "Emps.mdb"
.Properties("Jet OLEDB:Link Provider String") = "MS Access"
.Properties("Jet OLEDB:Remote Table Name") = "Employees"
.Properties("Jet OLEDB:Create Link") = True
End With
فى السطر الاول من الكود أعلاه ...قمنا باشتقاق كائن جديد من adox_catalog
فى السطر الثانى قمنا بتحديد كائن الاتصال للكائن adox_catalog وهو الكائن conn و الذى قام بفتح قاعدة البيانات الاولى ...
فى السطر الثالث قمنا باشتقاق الكائن adox_table و الذى سيقوم بالربط و الاتصال بجدول قاعدة البيانات الثانية
فى السطر الخامس قمنا بتحديد اسم للارتباط وهو LinkedTable
و السطر السادس و السابع قمنا بتحديد قاعدة البيانات الثانية Emps.mdb ونوعها MS Access و جدوها المراد الربط به Employees
6_ إضافة الجدول إلى مجموعة الجداول....بأستخدام الكود التالى :
- الكود:
adox_catalog.Tables.Append adox_table
7_ تنفيذ استعلام لجلب البيانات من الجدولين ....باستخدام الكود التالى :
- الكود:
Set rs = conn.Execute( _
"SELECT * " & _
"FROM Departments, LinkedTable " & _
"WHERE Departments.DepartmentId = LinkedTable.DepartmentId", , _
adCmdText)
8_ عرض النتائج ....وذلك با ساتخدام الكود التالى :
- الكود:
Do While Not rs.EOF
txt = txt & rs.Fields(0).Value
For i = 1 To rs.Fields.Count - 1
txt = txt & ", " & rs.Fields(i).Value
Next i
txt = txt & vbCrLf
rs.MoveNext
Loop
rs.Close
txtResults.Text = txt
وكما ترى فى الكود أعلاه قمت بعرض النتائج كلها فى مربع نص واحد و يمكنك استخدام الطريقة التلقيدة فى عرض النتائج فى أكثر من مربع نص
9_ حذف رابط الاتصال بين الجدولين باستخدام الكود التالى :
- الكود:
adox_catalog.Tables.Delete "LinkedTable"
10 _ إغلاق قاعدة البيانات الاولى
conn.Close
وفى النهاية أرجوا ان يكون الدرس مفيد ....و اليكم مثال فى المرفقات
- المرفقات
أبوسجود- .....
- تاريخ التسجيل : 18/02/2011
المساهمات : 87
النقاط : 162
التقيم : 7
الجنس :
رد: تعلم كيفية ربط جدولين مختلفين فى قاعدتين بيانات مختلفتين !!!؟
أصحبت من المحترفين يا ابو سجود
م/موسي- الاشراف
- تاريخ التسجيل : 18/02/2011
المساهمات : 130
النقاط : 253
التقيم : 9
الدولة :
الجنس :
رد: تعلم كيفية ربط جدولين مختلفين فى قاعدتين بيانات مختلفتين !!!؟
دا من بعض ما عندكم يا هندسة
أبوسجود- .....
- تاريخ التسجيل : 18/02/2011
المساهمات : 87
النقاط : 162
التقيم : 7
الجنس :
صفحة 1 من اصل 1
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى
» إنشاء و قراءة ملفات PDF من خلال تطبيقات الجافا
» ممكن تساعدني ضروري هسا هسا
» المساعدة في تصدير بيانات الى جدول وورد
» مشروع أنشاء الة حاسبة معقدة مثل حاسبة الويندوذ الى حد ما
» الاتصال بقواعد بيانات SQL Server بأستخدام تقنية الربط ADO
» قاعدة بيانات
» شقق للبيع في بيت الوطن بالتجمع الخامس
» أفضل المناطق للاستثمار العقارى فى مصر 2018
» عقارات للبيع بالتجمع الخامس