آكسس على الشبكة ـ درس : -------------- تهيئة قاعدة بيانات آكسس للعمل على الشبكة : تنبيه : قبل أن تقوم بعمل أي شيء قم أولاً بأخذ نسخة احتياطية أو نسختين واجعلها في مأمن حتى لا تفقد عملك وجهدك . ** تقسيم قاعدة البيانات : سنقوم بتقسيم قاعدة البيانات والتي أسميناها MyProg.MDB إلى قسمين : - الواجهات FrontEnd: وفيها (الاستعلامات ، النماذج ، التقارير ، الماكرو ، الوحدات النمطية ، الصفحات) - الداتاBackEnd : وفيها فقط (الجداول) من قائمة أدوات اختر (أدوات مساعدة لقواعد البيانات) ثم اختر (تقسيم قاعدة البيانات) .. سيقوم آكسس بتقسيم القاعدة إلى ملفين وسيجعل ملف الداتا باسم البرنامج مضافاً إليه الحرفين be .. ليصبح الاسم MyProg_be.MDB - من قائمة (أدوات) ثم (خيارات) ثم (خيارات متقدمة) تأكد من (وضع الفتح الافتراضي) على (مشترك) . ** إنشاء ملف الحماية/الصلاحيات للقاعدة : في الدليل : \Program Files\Microsoft Office\Office ستجد الملف MS Access Workgroup Administrator - افتح الملف وانقر زر إنشاء (Creat) لإنشاء نسخة منه لتخصيصها لبرنامجنا .. أدخل البيانات(اسم المالك(لملف الحماية) ، واسم الشركة ، ورقم WID) واحتفظ بهذه المعلومات لكي تعيد إنشاؤه مرة أخرى فيما لو فقدته .. لأنك حين تربط القاعدة بملف MDW لا يمكن فتحها إلا بوجوده . - انقر OK ثم اختر موقع الملف .. غير الاسم الافتراضي SYSTEM.MDW واختر اسماً مناسباً لبرنامجك مثلاً MYPrgramSYSTEM.MDW .. ثم انقر OK ثم OK لتأكيد المعلومات .. إذا نجحت العملية ستخرج رسالة بنجاح إنشاء ملف MDW .. ثم انقر خروج Exit . == ربط الملف MYPrgramSYSTEM.MDW بالقاعدة لجعل صلاحيات الدخول للقاعدة من خلاله فقط : افتح الملف MYPrgramSYSTEM.MDW ثم من قائمة (ملف) اختر (فتح) .. ثم اختر القاعدة MyProg.MDB لفتحها .. بهذا تم ربط القاعدة بملف الحماية . لتتأكد من أن القاعدة مربوطة بملف الحماية الذي أنشأناه قبل قليل وهو MYPrgramSYSTEM.MDW أم لا زالت مربوطة بملف الحماية الافتراضي في آكسس SYSTEM.MDW قم بتنفيذ هذا الكود :
MsgBox SysCmd(acSysCmdGetWorkgroupFile)
"c:\Program Files\Microsoft Office\Office\ MSACCESS.EXE "
"c:\myprog.mdb" /wrkgrp "\\ServerName\MyFolder\MYPrgramSYSTEM.MDW "
"c:\Program Files\Microsoft Office\Office\ MSACCESS.EXE " "c:\myprog.mdb" /wrkgrp "\\ServerName\MyFolder\MYPrgramSYSTEM.MDW "
sq = " select tblCostomer.Name1,sum(tblSales.Price)As sales From tblCostomer INNER JOIN tblSales ON tblCostomer.C_ID=tblSales.Link_C"sq = sq & " GROUP BY tblCostomer.Name1"sq = sq & " HAVING sum(tblSales.Price) > 10000"
sq = " select Top 20 tblCostomer.Name1,sum(tblSales.Price)As sales From tblCostomer INNER JOIN tblSales ON tblCostomer.C_ID=tblSales.Link_C"sq = sq & " GROUP BY tblCostomer.Name1"sq = sq & " HAVING sum(tblSales.Price) > 10000"
DoCmd.OpenForm "frm1"
Forms!frm1.Form.RecordSource = sq
Dim sq As Stringsq = " select Top 20 tblCostomer.Name1,sum(tblSales.Price)As sales From tblCostomer INNER JOIN tblSales ON tblCostomer.C_ID=tblSales.Link_C"sq = sq & " GROUP BY tblCostomer.Name1"sq = sq & " HAVING sum(tblSales.Price) > 10000"DoCmd.OpenForm "frm1"Forms!frm1.Form.RecordSource = sq
Dim sq As Stringsq = "Insert Into tblSales (Link_C,Name_Prod,Price)Values("sq = sq & Me.C_ID & ","sq = sq & "'" & Me.txtProd & "',"sq = sq & Me.txtPrice & ")"DoCmd.RunSQL sq