منتدى برامج نت | برامج نت | دليل المواقع | العاب فلاش | برامج | عيادة الطب | Free software
العاب افلام موقع منتديات

المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : تعلم اسس قواعد البيانات في الفيجوال واي سؤال انا جاهز ان شاء..


الفرعون المحترف
08-10-2006, 11:37 AM
السلام عليكم ورحمة الله وبركاته
اخواني اعضاء برامج نت الكرام اقدم لكم مجموعه دروس لاسس قواعد
البيانات في الفجوال ارجو متبعتها يوجد كل يوم مجموعه من الدروس
الجديده ارجو ان تنال لعجابكم وتجوز على رضاكم وتصل الفائده لكم

بسم الله الرحمن الرحيم

الدرس الاول


كائن الوصول الى‏ المعطيات DAO 3.52

اولا : ابدأ مشروع جديد ومن ثم قم بأضافة كائن الوصول الى المعطيات من خلال القائمة PROJECT-------REFERNCE ومن ثم اختار microsoft DAO 3.52 ومن object library ثم موافق

2- ثانيا
لانشاء كائن قاعدة البينات وكائن مجموعة السجلات قم بكتابة الكود في حدث تحميل الفورم
dim db as database
dim rs as recordset

ثالثا : انشاء اتصال نع قاعدة البينات وتحديد الجدوال
قم بكتابة الكود التالي ايضا في حدث تحميل الفورم

Set db = dbengine.OpenDatabase(App.Path + "\" + "test.mdb")
Set rs = db.OpenRecordset("test", dbopentable)

لاحظ ان كائن قاعدة البيانت قد احدث باستخدام منهج opendatabase للكائن
DBENGINE
الذي سوف اقوم بشرحه لاحقا يمكنك الان استخدام كائن المعطيات لتمثيل قاعدة البيانات في شفرات الفيجوال اما في السطر الثاني فهو لانشاء مجموعة السجلات من نمط مجموعة الديناميكية للجدول تيست اما بالنسبة لاضافة والبحث والتعديل اعتقد انها اصبحت سهلة
فقط عليك استخدام الكائن RS
E.G
RS.ADDNEW


الدرس الثاني

الاتصال مع قاعدة بيانات باستخدام العنصر DATA الموجود في صندوق الاداوت
قم بادراجه على الفورم ومن ثم قم بالاتصال نع قاعدة البيانات وتحديد الجداول من خلال الخاصيتين
DATABASENAME وتسخدم لتحديد مسار قاعدة البيانات
RECORDSOUREC وتستخدم لتحديد الجداول

الطرق والمناهج
يحتوى ال Data Control على مجموعه كبيره من الأوامر والإجرآت ولكن تكون هذه الأوامر تحت
مجموعه أوامر تختص بالمعامله مع السجلات .. وكل هذه الأوامر تكون موجوده فى ال Recordset
فمثلا .. عند كتابتك للكود التالى تجد مجموعه كبيره من الأوامر يمكن الإستفاده منها ..

Data1.Recordset

وهذه الأومر تنقسم إلى مجموعات من حيث الإستخدام.. ونحن هنا سنشرح أهمها ..

مجموعه أوامر متخصصه فى التنقل داخل الجدول من سجل إلى آخر..


1-الأمر MoveNext وهو يمكننا من الإنتقال من السـجـل الحالى إلى
السجل الذى يليه فى الترتيب .. ومثلاً يمكن تنفيذ الأمر بكتابه الكود التلى ..

code:Data1.Recordset.MoveNext


2- الأمر MovePreviousوهو يمكننا من الإنتقال من السجل الحالى
إلى السجل السابق فى التربيب مثلا...

code:Data1.Recordset.MovePrevious


3-الأمر MoveFirst وهو يمكننا من الإنتقال إلى أول سجل فى الجدول ومثلاً ..

code:Data1.Recordset.MoveFirst


4 – الأمر MoveLastوهو يمكننا من الإنتقال إلى آخر سجل فى الجدول ومثلا ..

Data1.Recordset.MoveLast



** وهنالك مجموعه من ال Function و التى ترجع قيم تفيد فى البرمجه وتفحص حالتمعينه ... ومنها:

5 – الإقتران EOFوهو يعنى فحص قيمه ال End of Table أى إذا كان مأشر السجلات يقف الأن على نهايه الجدول .. وهذا ال function يرجع قيمه true
أو false وتكون القيمه المرجعه True إذا كنا نقف على آخر سجل فى الجدول ..
ومثال على كيفيه الإستخدام..


code:If Data1.Recordset.EOF Then

'تقوم بالعمل والإجراء الذى تبريده
End If


6 – الإقتران BOF وهو مثلا الإقتران EOF سوا أنه يفحص إذا كنا موجودين على
السجل الأول ...


7 - الإقتران RecordCount وهذا الإقتران يقوم بإرجاع قيمه تمثلا عدد السجللات فى الجدول ..ويمكن الإستفاده من هذه الداله فى عرض عدد السجالت أو فى أمور أخرى سننافشها فى دروس لاحقه ومثال على إستخدامه :

code:Dim NumberOrRecord As Integer
Data1.Recordset.RecordCount



8- الداله AbsolutePosition وهى ترجع رقم السجل الذى نكون واقفين عليه
( أى يكون المأشر واقف عليه ) ويبدء الترقيم للسجلات من الصفر .. ويمكن إستخدام
الداله فى أمور كثييره ومثلا على كيفيه الإستخدام..


code:Dim PosLoc As Integer
PosLoc = Data1.Recordset.AbsolutePosition




** وايضا توجد هنالك مجموعه من الأوامر التى تهتم بالسجالت من الحيث الأضافه
و التعديل والحذف.. وغيرها..

9- الأمر AddNew وهو يقوم بإضافه سجل جديجد و فارغ إلى الجدول .. وهو يمثل إضافه إلى جدول..ومثال عليه ..

code:data1.Recordset.AddNew


10- الأمر Deleteوهو يقوم بحذف السجل الذى نقف عليه حالياً .. ومثال عليه..

code:data1.Recordset.Delete


11- الأمر .Update وهو يقوم بحفظ التعديلات على القاعده فعلياً عل القرص
الصلب ويكون ذلك بعد إضافه سجل أو التعديل على بيانت سجل .. فيجب حفظ
التعديلات فعلياً.. ولا يمكن إستخدامه بعد أى منها .. وإلا يتسبب خطأ..

code:data1.Recordset.Update


12 – الأمر CancelUpdateويمكن إستخدامه فى حالة أننا أردنا التراجع عن
عمل قمنا بهه على القاعده ..
فمثلاً لو قمنا بإضافه سجل جديد ولكن أردنا أن نتراجع فإننا ننفد هذا الأمر .. أو إذا
أردنا بعد عمليه تعديل على السجل أن نتراجع فيمكن ذلك.. ولكن عند تنفيذ الأمر Update فإننا لن نسنفيد من الإمر ومثال على إستخدامه..

code:data1.Recordset.CancelUpdate



** وأيضاً توجد هنالك مجموعه أوامر تمكننا من البحث فى داخل القعده .. وذلك
فى حاله أن المبرمج لا يعلم لغه ال SQL أو لا يريد إستخدامها.. وهى ..

13- الأمر "FindFirst "the condition as String وهذا الأمر يعنى
إريد أن أبحث من أول الجدول وذلك حسب الشرط الموضوع على شكل String
ويمكن أن يكون هذا الشرط عباره عن إسم مثلاً محمد ويعبر عنها بما يلى ..

code:Data1.Recordset.FindFirst "name='mohmmed'"


ويجب أن يكون قيمه الشرط إذا كان String أن يوضع بين حاصره علويه
واحده مثلا 'moammed' وإذا كان الشرط عباره عن مقارنه قيمه رقميه
فإنه يكون مثلا ..
""ID=3 أى أنه قيمه الحقل الذى إسمه ID أن تكون ثلاثه..


14- الأمر FindLast " the condition as String " وهذا الأمر يكون
مثلا ال FindFirst من حيث الشروط .. لكنه يبدء البحث من أسفل الجدول ...

15- الأمر FindNext يقوم مثلا الأمر FindFirst وذلك حسب شروط البحث ..
ولكنه يبدء البحث من الموقع التالى وبالإتجاه لآخر الجدول للموقع الحالى..

16- الأمر FindPrevioust يقوم مثلا الأمر FindFirst وذلك حسب شروط
البحث ..ولكنه يبدء البحث من الموقع السابق وبالإتجاه لأول الجدول للموقع الحالى..


** وأيضاً يوجد هنالك أمر مهم ليس تابع لمجموعه الأومامر فى ال RecordSet
وهيزز

17- الأمر Refresh له إستخدامان رإيسيان.
الأول فتح قاعدت البيانت فى بدانيه البرنامج أو فى بدايه تحميل الفورم وذلك
لإجراء بعض العمليات عند بدايه التحميل .. كأن يعرض عدد العناصر فى الجدول ..
ومثال عليه ..

code:
Private Sub Form_Load()
' هنا يتم فتح قاعدة البيانت
Data1.Refresh
End Sub



الإستخدام الثانى هو بعد إسناد جمل SQL إلى الخاصيه .. RecordSource
وليتم تحميل السجلات التى تطابق الطلب.. يجب أن نقوم بإستدعاء الأمر ليتم العمل
أى كأننا نقوم بإعدت فتحه وفق الشرط الجديد ومثلا على ذلك المثال التالى ..


' إسناد جملت طلب
Data1.RecordSource = "select * from employee"
' طلب تحديث البيانات المحمله فى ال
' datatControl
Data1.Refresh




اما بالنسبة للبحث وهي الجزء الاهم سوف اقوم بشرحه الان
يستخدم للبحث الغرض FIND ولهذا الغرض اربعة منهاج وهم
FINDFIRST ويستخدم للبحث اعتبارا من السجل الاول
FINDLAST -------------------------الاخير
FINDNEXT ------------------------الحالي والى الامام
FINDPREVIOUS -------------------الخلف

مثال

Data1.Recordset.FindFirst "AMOUNT>100"
Data1.Recordset.FindLast "NAME='HAFAR'"

في السطر الاول قمنا بالبحث على الصفوف التي تحتوى على عدد اصغر من 100
اما في السطلر الثاني فقمنا بالبحث على الموظف الذي اسمه HAFAR



الدرس الثالث


الكائن dbengine

ويمكن من خلال هذا الكائن الاتصال مع قواعد البيانات كما في الدرس الاول
واصلاحها وضغطها ويحتوى على ستة مناهج:

rapairdatabase -------------- ويستخدم لاصلاح قاعدة البيانات
compactdatabase ------------ويستخدم لضغط قاعدة البيانات
registerdatabase -------------ويستخدم لبناء روابط بين مصدر
المعطيات خارجي وقاعدة بيانات
setoption ---------------------ويستخدم لتغيير قيمة او اكثر من
قيم المنهاج السابق
createworkspace -------------ويستخدم لبناء فضاء العمل بهدف
الوصول الى قاعدة بيانات او اكثر


أستخدام منهاج ضغط قاعدة البيانات

DBEngine.CompactDatabase "c:\test.mdb", "d:\test.mdb", dbLangGeneral, dbEncrypt

البارمترات
الاول-----يسستخدم لتحديد قاعدة البيانات المراد ضغطها
الثاني ----يستخد لحفظ قاعدة البيانات المضغوطة
الثالث ----لغة قاعدة البيانات المستخدمة
الرابع ----لتشفير قاعدة لبيانات


استخدام منهاج registerdatabase
يقوم هذا المنهج بتسجيل مصدر معطيات لاستخدام مع قاعدة البيانات وتشجع وثائق المبرمج على الاعتماد على خدمات الاعدادات odbc في لوحة تحكم ويندوز بدلا من استخدام هذا المنهاج ولكن اذا اردت معالجة تسجيل odbc ضمن الفيجوال بيسك فانه بامكانك استخدام هذا المنهج وله البارامترات التالية

sourcename
وهو الاسم الذي سوف يعطى لقاعدة البينات في منهاج opendatabse
drivername
اسم موجه odbc المثبت والمتوفر في محطة العمل

silentflag
اذا اخذ هذا البارمتر القيمة فولس فانه يجبر الويندوز على اظهار صندوق حوار
التسجيل اما اذا اخذ القيمة ترو فان ويندوز سوف يحاول القيام بتسجيل دون اظهار
صتدوق حوار التسجيل

attributelist
ويمكن ان تتضمن اسم المخدم واسم قاعدة البينات او اي بارمتر مطلوب

مثال
dbengine.registerdatabse "dsnname","sql server",false,"server=mca&char(0)&database=pubs&char(0)"

استخدام منها اصلاح قاعدة البيانات
مثال

DBEngine.RepairDatabase "c:\test.mdb"


ارجو ان اكون قد وفقت في ايصال المعلومه لكم

alienblueshark
08-10-2006, 12:14 PM
Set db = dbengine.OpenDatabase(App.Path + "\" + "test.mdb")
Set rs = db.OpenRecordset("test", dbOpenDynaset

يا أخي الفرعون المحترف, ممكن تغير dbopendynaset الى dbopentable
لان dbopendynaset بستتعمل لما يكون في استعلام قبل SQL

أرجو تتقبل التذخل

الفرعون المحترف
08-10-2006, 12:19 PM
اشكرك اخي الكريم وجزاك الله خير

veto_44
08-10-2006, 07:06 PM
اشكرك اخي الفرعون على مجهودك الكبير والرائع
والمتواصل ارجو من الاعضاء متابعه الموضوع هناك
كل يوم مجموعه من الدروس المفيده والرائعه من الاخ
الفرعون المحترف بارك الله فيك وتقبل فائق الاحترام
والتقدير

الفرعون المحترف
08-11-2006, 12:11 PM
اولا شكرا للمشرف العظيم فيتو اشكرك جدا جدا

الفرعون المحترف
08-11-2006, 12:16 PM
الدرس الرابع :
كيفيه انشاء قاعده بيانات:
الدرس

قاعدة البيانات التي سننشأها تحتوي جدول يحتوي على أسماء الطلاب و أرقامهم

الخطوة الأولى فتح فيجوال بيسك كالمعتاد و من ثم الذهاب إلى قائمة

Add-ins >> visual data manager...


http://www.geocities.com/hrm420/images/cf/c2f1.gif

بعد ذلك ستفتح لك نافذة البرنامج إذهب إلى

File>>new>>microsoft access>>version 7.0 mdb..

سيظهر لك مربع حفظ حدد الموقع الذي تريد أن تحفظ فيه قاعدة بياناتك ثم إختر حفظ

بعد ذلك ستظهر لك قاعدة البيانات حدد

proprties

بالزر الأيمن ثم أختر

New Table

http://www.geocities.com/hrm420/images/cf/c2f2.gif

بعد ذلك ستفتح لك نافذة تكتب فيها إسم الجدول و ثم نذهب لإضافة الحقول كما هو مبين
http://www.geocities.com/hrm420/images/cf/c2f3.gif

سيفتح لنا نافذة إضافة الحقول نكتب إسم الحقل في المكان المخصص و نحدد نوع بيانات الحقل هل هي رقمية أو حرفية إلخ ، و نكرر العملية حتى ننهي جميع الحقول التي نريدها و في مثالنا هذا نريد حقلين الأول إسمه

name

و نوع بياناته

text

و الثاني

number

و نوع بياناته

long

ملاحظة مهمة إذا كان ماسيكتب في الحقل من أرقام خمسة أرقام أو أقل نختار نوع البيانات

integer

و للأرقام الطولية نختار

long

http://www.geocities.com/hrm420/images/cf/c2f4.gif
بذلك نكون قد أنشأنا قاعد بيانات تحتوي على جدول به حقلين الإسم و الرقم

ل ما هو مطلوب منك في هذه المرحلة أن تعرف أن هناك عدة طرق لبرمجة قواعد البيانات تحدد أيها تستخدم على قدر حاجتك
الحد الأدنى من الأهداف التعليمية

الفرعون المحترف
08-11-2006, 12:24 PM
اكمل:
بعد أن قمنا في الدرس السابق بإنشاء قاعدة البيانات تأتي الخطوة التالية وهي أول خطوة لك في ربط قاعد البيانات سنقوم بربط القاعدة التي أنشأنها و التي تحتوي على حقلين هما إسم الطالب و رقمه و الآن لننطلق للخطوة التالية:


الدرس

تفتح مشروع جديد ثم تضيف الأداة data من صندوق الأدوات كما في الشكل


http://www.geocities.com/hrm420/images/cf/c3f1.gif

نرسم الأداة على الفورم و أيضا نرسم صندوقي نص لكي نظهر فيهما الحقول

http://www.geocities.com/hrm420/images/cf/c3f2.gif

data الأن سنقوم بربط مربعات النص مع كائن البيانات و سنورد اولا خصائص كائن
من مربع الخصائص نضبط الخصائص التالية للأداة data

شرح
قيمتها
إسم الخاصية

و لكي نقوم بذلك نختار (..) التي بجانبها و نحدد مكان القاعدة نكتب مسار قاعدة البيانات
databasename

t1 وفي حالتنا هذه فقد اسمينا الجدول و
نحدد الجدول المراد ربطه
recordsource

و بالنسبة لمربعي النص نضبط خصائصهما كما في الجدول التالي

شرح
قيمتها
إسم الخاصية

وهو إسم الكائن الذي سيربط قاعدة البيانات
data1
datasource

طبعا يوجد لدينا مربعي نص لكل واحد قيمة مختلفة لكي يكون أحدهما لإسم الطالب و الآخر لرقمه
إسم الحقل المراد الربط معه
datafield





هكذا تكون قد ربطت قاعدة بياناتك في برنامج و لترى النتيجة قم بتنفيذ البرنامج و ذلك بضغط



طبعا لن يظهر لك شيء لأن قاعدة البيانات فارغة و لكي نقوم بوضع بعض الحقول قم بالتالي

شغل منشيء قواعد البيانات كما تعلمنا في الدرس السابق و إذهب إلى

File>>Opendatabase>>microsoft access

سيفتح قاعدة بياناتك و سيضهر إسم الجدول الذي أنشأته قم بالنقر عليه مرتين و سيفتح لك نافذة اضف منها ماتريد من سجلات

إضافة كائن قواعد البيانات و التعامل مع خصائصه
ربط الكائن مع مربعات النص
الحد الأدنى من الأهداف التعليمية

veto_44
08-11-2006, 01:10 PM
اشكرك يا فرعون الدروس مفيده جدا وانا تابعتها
كلمه كله الشرح منسق وواضح ما شاء الله عليك
تقبل منى خالص الشكر والى الامام دائما

الفرعون المحترف
08-11-2006, 05:01 PM
عفوا اخي فيتو هذا التعب لمنتدانا العزيز واشكرك على المتابعه

الفرعون المحترف
08-12-2006, 03:53 PM
مش شايف اي تفاعل

alienblueshark
08-12-2006, 08:15 PM
والله مجهود كبير منك يا فرعون يا محترف , وموضوع مهم انصح الجميع بمتابعته

yassine
08-14-2006, 03:18 AM
شكرا لك اخي على الدرس

الفرعون المحترف
08-14-2006, 10:21 AM
عفوا واشكر ايها المشرف على التواصل

al-sarab
08-14-2006, 11:53 PM
مشكور اخي على هذا الجهد الرائع

علاء دوت نت
05-31-2007, 09:50 AM
اخي الفرعون المحترف هل لك ان تشرح بالتفصيل كيفية ربط بين الفيجول بيسك و الاكسل
اي هل يلزم تحميل برنامج فيجول بيسك او الموجود في الاكسل يفي بالغرض
و كيف نبدا العمل هل يجب في البداية تصميم ورقة العمل على الاكسل ثم ناتي للفيجول بيسك
ام نفتح الفجول بيسك و من خلاله ندخل على الاكسل و نبدا التصميم


و شكرا لك اخي

avg nacer
07-27-2007, 10:15 AM
تشكر على المجهود

shekoforever
07-27-2007, 11:09 AM
جزاك الله أخى خير الجزاء
كنت أريد أن أتعمق فى قواعد البيانات حيث لم أكن جيداً فيها
بارك الله فيك فلقد كنت أريد دروس مثل هذه من زمااان

hisham_munshar
07-28-2007, 10:50 PM
thankssssssssss alot

الشاطىء المهجور
01-08-2008, 03:00 PM
شكراً لك اخي الفرعون المصري التفاعل ربما يكون قليلا ولكن الشرح سيكون له الأجر الكبير لأنك تعلم وتدرب وهذه مهمة كبرى مردودها الفعلي يوم تقف بين يدي الله وعند السؤال في القبر عن العمر فيما أفنيته أطال الله عمر وأمدك بالصحة والعافية عمري 48 سنه وأتعلم منك فلاتقطع عملك فيقطع ثوابك

Aboud Aboud
01-08-2008, 05:01 PM
شكرا اخي الفرعون على مجهودك الكبير والرائع

infoyassmedianet
01-11-2008, 10:17 AM
مشكور اخي ماقصرت لو تسمح في عندي طلب معطل لي مشاريع كثيرة هو كود تخزين الصورة مع المعلومات ولو سمحت لنا ان تشرح لنا الطرق شرحا مملا .
كم هو حجم تخزين في فجوال باسيك جزاك الله الف خير وسنة هجرية سعيدة

nadia01
01-20-2008, 04:01 PM
اود تعلم البرمجة خطوة خطوة كيف يمكن ذالك مع الف شكر

المليون عقل 100
01-20-2008, 04:14 PM
مشكوووررررر

abdelkader11
01-20-2008, 05:23 PM
شكراً جزيلا على مجموعة الدروس القيمية والمفيدة

nadia01
01-22-2008, 03:40 PM
شكرا اخي الفرعون على هذا المجهود
فانا اود تعلم لغة البرمجة لكنني محتارة اي لغة اتعلمها
وكيف ابدا مع الف شكر
في انتضار نصاءحك

عــزيــز
01-24-2008, 05:40 PM
بااااارك الله فيك

clever_net
03-23-2008, 03:03 AM
اخي الفرعون ممكن اغير برنامج معمول بي فجول بسك 3 الي فجول بسك 6 بنفس قاعدة البيانات وشكر ولو عاوز اغير البك جرون بتاع البرنامج بي لفجول بسك 3 منين

clever_net
03-23-2008, 03:04 AM
بارك الله فيك