إستخدام Currency Manager فى ربط قاعدة بيانات أكسس فى فيجوال بيسيك 2005
http://absba1.absba.org/teamwork16/5...8272125737.jpg Currency Manager ما هو Currency Manager أو مدير التعاملات هو مجموعة من أدوات التحكم تقوم بإدارة الاتصال بقاعدة البيانات وربطها بالتطبيق وعرض البيانات داخل الفورم ولكن لكى نفهم معنى Currency Manager يجب أن نعرف مسار عملية الإتصال بقاعدة البيانات -عندما تريد الإتصال بقاعدة البيانات بغرض التحكم فى محتوياتها فمعنى ذلك أنة قد صدر أمر منك من خلال هذا الإتصال الصادر منك إلى قاعدة البيانات وهذا يسمى Data Connection http://absba9.absba.org/teamwork1/518338/1.jpg http://absba9.absba.org/teamwork1/518338/2.jpg ويسمى الوارد من قاعدة البيانات إليك Data Adaptor ويتضمن معلومات حول الجداول والحقول التى قمت باختيارها إذن لدينا الان Data Connection و Data Adaptor ولكن كيف يمكن معرفة محتويات القاعدة من خلال الإتصال وبمعنى أكثر وضوحا كيف وبأى طريقة سيتم عرض المحتويات يتم تفصيل وتقسيم محتويات قاعدة البيانات فى جزء يعرف باسم DataSet حيث أنة يتم تحليل قاعدة البيانات إلى مكوناتها الرئيسية Tables وViews وStored Procedures و Functions ....الخ كما يتم عرض مكونات الجداول أيضا من حقول http://absba9.absba.org/teamwork1/518338/3.jpg بعد ذلك تذهب كافة المعلومات إلى أداة الربط ***ding Source ومن خلال اسمها فمن الواضح أنها تقوم بتثبيت الاتصال الذى تم إنشاؤة وربط المعلومات بالفورم الذى ستقوم من خلالة بعرض البيانات http://absba9.absba.org/teamwork1/518338/4.jpg إذن هذا هو مسار الاتصال بقاعدة بيانات يمكننا أن نقوم بالحصول على البيانات عن طريق سلوك نفس المسار باستخدام كود دون أن نقوم بربط كل مربع نص بالحقل المطلوب هل يمكن ذلك مثال نفترض أن لدينا قاعدة بيانات A وأن بها الجدول B وعدد من الحقول ba,bb,bc,bd وأنة أثناء عمل اتصال بقاعدة البيانات قام معالج الإتصال بعمل Dataset وقام بتسميتها مثلا CDataSet نستطيع أن نقوم بتجميع هذة المعلومات لإنشاء كود لإحضار البيانات التى فى الحقل ba وإظهارها فى ****Box داخل الفورم أى أننا نريد احضار النص **** الموجود فى قاعدة البيانات A فى الجدول B فى الحقل ba وربط البيانات Data***dings بمربع النص ****Box وبما أن DataSet قام بإحضار ما يلزمنا فى العمل فإننا سنذهب إلية ولن نذهب إلى قاعدة البيانات يمكننا ترتيب السطر السابق لنحصل على جملة مفيدة كالتالى ****Box.Data***dings.Add وAdd لأننا نريد إضافتة ثم نريد عرض **** الموجود فى DataSet المسماة CDataSet وبالتحديد فى الجدول B الحقل ba ("****", CDataSet, "B.ba") فتكون الصيغة الكاملة ****Box.Data***dings.Add("****", CDataSet, "B.ba") ويجب أ ن نعتبرها قاعدة ويمكنكم دائما استخدام هذة القاعدة لإنشاء الكود http://absba9.absba.org/teamwork1/518338/5.jpg خصائص Currency Manager والمقصود بهذة الخصائص هو العمليات التى يمكننا تنفيذها 1-***dings لربط مجموعة من العناصر ليتم التحكم بها من خلال Currency Manager 2-Count لمعرفة عدد الصفوف المرتبطة مع Currency Manager 3-Current لاستدعاء الصف المرتبط حاليا مع Currency Manager 4-List لعرض قائمة تكون مرتبطة بقاعدة البيانات مثل DataViews 5-Position للتعامل مع الصف الحالى اعتمادا على رقم هذا الصف داخل قاعدة البيانات الوظائف التى يمكن تنفيذها من خلال Currency Manager 1- AddNew إضافة جديد 2- CancelCurrentEdit إلغاء التغييرات 3- EndCurrentEdit إنهاء وحفظ 4- Re fresh تحديث وإعادة تعبئة البيانات 5- RemoveAt إزالة ولكى نفهم ما هو الفرق بين الخاصية والوظيفة فإننا سنقوم بعمل مثال بسيط جدا مثال : الربط البسيط الغرض من هذا المثال هو كيف تتعلم أن تقوم بابتكار الكود دون أن تظل تبحث عن كود لإنشاء برنامجك الان نقوم بعمل ربط مباشر وبسيط للفورم بقاعدة البيانات دون أن نستخدم ***ding Navigator المثال http://absba9.absba.org/teamwork1/518338/6.jpg سنقوم بعمل تطبيق Currency Manager والمثال الذى سنتعامل معة اليوم يصلح لأن يستخدم للتعامل مع بيانات الأفراد والمعلومات الخاصة بهم مثل موظف أو تلميذ أو ملف لأحد المرضى فى مستشفى أو ما شابة ذلك أولا يجب أن نقوم بإنشاء قاعدة بيانات جديدة وستحتوى قاعدة البيانات على جدول واحد بة 7 حقول يمكننا تسمية الجدول باسم مثل Information وتسمية قاعدة البيانات بأى اسم مثلا Informations الحقول هى 1-اسم الحقل ID Data Type=AutoNumber Indexed= Yes (No Duplicates) 2- First**** 3- Last**** 4- HomePhone 5- Grade 6- PictureFile وكلها نص **** 7- BirthDate ثم قم بحفظ قاعدة البيانات بصورة Access2000 قم بفتح مشروع جديد مستخدما فيجوال بيسيك 2005 مكوناتة كالتالى -عدد 3 ****Box -Date Time Picker - PictureBox -عدد 6 Lable -عدد 12 Buttons أمامنا الان عملية ترتيب هذة المكونات لتكون شكل ملائم ومناسب -فى خصائص PictureBox يمكنكم تغيير BackColor إلى أى لون كما يفضل تغيير خاصية Size إلى المقياس 3/2بمعنى أن يكون عرض مربع الصورة إلى طول مربع الصورة = 2 إلى 3 يعنى لو الطول 15 يكون العرض 10 ولو العرض 80 يكون الطول 120 وهكذا -من المستسحن تغيير الخاصية SizeMode إلى Zoom لكى تستطيع مشاهدة جوانب الصورة كاملة شاملة الحواف -من الممكن تغيير خاصية الإسم فى الأزرار الخاصة بالتالى فى **** وبدلا من أن نكتب السابق والتالى يمكننا كتابة الأول كالتالى |< والأخير هكذا >| وكلا من < و > للسابق والتالى فتصبح أزرار التحكم بصورة أفضل ولتغيير حجم Lable الذى سيكون أسفل صندوق الصورة قم بتغيير الخاصية Autosize إلى False سنقوم بتسمية بعض المكونات وهذا الموضوع اختيارى لكننى قمت بإعادة تسمية المكونات التالية Form1=frmInfo Lable أسفل الصورة= lblPhotoFile ****Box1= txtFirst**** ****Box2=txtLast**** ****Box3=txtHomePhone ****Box4=txtGrade btnFirstو btnPrevious و btnNext و btnLast و btnEdit و btnSave و btnCancel و btnAdd و btnDelete و btnPrint و btnExit و btnLoadPhoto قم الان بحفظ المشروع ثم قم بنقل قاعدة البيانات إلى المجلد الذى بة المشروع ندخل الان إلى مرحلة كتابة الكود ندخل الان إلى مرحلة كتابة الكود سنقوم باستيراد أسماء المجالات ****Spaces التى سنحتاجها وهى كود:
Imports System.Data ثم الإعلان عن المتغيرات كود:
Dim InfoConnection As OleDbConnection لتعريف InfoConnection فإن الكود يكون التالى كود:
InfoConnection = New OleDbConnection _ infocommand = newoledcommand (* select * from information order by last**** info connection ) ثم InfoAdapter كود:
InfoAdapter = New OleDbDataAdapter() كود:
txtFirst****.Data***dings.Add("****", InfoTable, "First****") كود:
InfoManager = DirectCast(Me.***dingCon****(InfoTable), CurrencyManager) كود:
Call SetState("View") ثم نقوم بإنشاء SetState وهى تحدد أوضاع الأزرار وصناديق النصوص من ناحية نشط أو غير نشط وللقراءة فقط كود:
Private Sub SetState(ByVal AppState As String) كود:
كود:
Private Sub frmInfo_FormClosing(ByVal sender As Object, _ كود:
Private Sub PrintInfo(ByVal sender As Object _ كود:
فى زر الأول كود:
InfoManager.Position = 0 كود:
InfoManager.Position -= 1 كود:
InfoManager.Position += 1 كود:
InfoManager.Position = InfoManager.Count - 1 كود:
InfoBookmark = InfoManager.Position كود:
InfoManager.CancelCurrentEdit() كود:
If txtLast****.****.Trim = "" Then كود:
Call SetState("Edit") كود:
Try كود:
Dim Info******** As Drawing.Printing.Print******** كود:
If MessageBox.Show("هل أنت متأكد من أنك تريد حذف هذا السجل" _ كود:
Close() http://www.zshare.net/download/37241619ac3ce2 ولعمل بحث على نفس المشروع -قم بإدراج ز و مربع نص قم باستخدام الصيغة التالية فى كود الزر كود:
InfoTable.DefaultView.Sort = "اسم عمود البحث" كود:
InfoTable.DefaultView.Sort = "First****" bobofay |
رد: إستخدام Currency Manager فى ربط قاعدة بيانات أكسس فى فيجوال بيسيك 2005
مشكوووورر ولكن رابط المشروع لايعمل او غير صحيح ارجو المتابعة والى الامام
|
رد: إستخدام Currency Manager فى ربط قاعدة بيانات أكسس فى فيجوال بيسيك 2005
مشكور بارك الله فيك
|
الساعة الآن 11:18 AM |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. TranZ By
Almuhajir