23-04-18, 03:06 AM
السلام عليكم
منذ فترة شهر بدات دراسة فيجوال بيسك 6
حاليا بدرس التعامل مع مكتبة DAO
لدي عدة اسئلة الاول الكود التالي :
حسب الشرح انه DataBase و RecordSet هما كلاسين بداخل المكتبة DAO
لكن عندما نريد نحن اخذ نسخة من كلاس نكتب كلمة new بحيث الاشياء الموجوده بداخل هذا الكلاس تصبح بداخل المتغير او الاوبجكت سميه ماتسميه
هنا تم تعريف بدون استخدام كلمة new لماذا هذا الامر ؟
ماهو الفرق بين استخدام كلمة new وعدم الاستخدام ؟
السؤال الثاني :
في هذا الكود اول سطر جربت اكتب DB.OpenDatabase ("test.mdb") بما انه DB اصبح نسخه من كلاس OpenDatabase لكن للاسف لم يستطيع الوصول بهذه الطريقة
لذلك السطر الثاني تم استخدام كلمة Set ولا اعلم ماهو فائدة هذه الكلمة ولماذا نستخدمها ؟
لهذا الشيئ سؤال الثاني حول استخدام كلمة Set لماذا استخدمها بالكود وماهي فائدتها
السؤال الثالث :
بنفس الكود السابق ماهو فائدة عملية الاسناد = بهذا الكود
مش المفروض يكون DB اوبجكت من كلاس Database وميثود OpenDatabase بداخل هذا الكلاس ؟ يعني الوصول لها استخدام الدوت .
لماذا استخدمنا هذه الطريقة للوصول لهذه الميثود ؟
السؤال الرابع :
الكود التالي
طريقة الوصول لميثود OpenRecordset هنا غريبة لانه هذه الميثود كما يقال من ضمن كلاس Recordset صح ؟
سؤالي كيف استطاع الاوبجكت DB من الوصول لها وهو اساسا من كلاس اخر .!
فاهم انه بهذه الطريقة نصل الى قاعدة البيانات التي نريد التعامل معها
المفروض كنا نقول
عارف انه الكود غلط ولكن كتفكير منطقي المفروض يكون نفس السابق نمرر ميثود ونمرر الاوبجكت الي يوجد فيه اسم قاعدة البيانات DB
صراحة هذه الاسئلة ماوجدت لها حل
كتطبيق تعمل بدون مشاكل لكن تطبيق كحفظ فقط وليس كفهم يعني حافظ الكود ولم افهمه طريقة الاستخدام وهذا شي غلط
اذا ممكن توضيح هذه النقاط لي بكون شاكر لكم
منذ فترة شهر بدات دراسة فيجوال بيسك 6
حاليا بدرس التعامل مع مكتبة DAO
لدي عدة اسئلة الاول الكود التالي :
كود :
Dim DB As DataBase
Dim RS As RecordSet
حسب الشرح انه DataBase و RecordSet هما كلاسين بداخل المكتبة DAO
لكن عندما نريد نحن اخذ نسخة من كلاس نكتب كلمة new بحيث الاشياء الموجوده بداخل هذا الكلاس تصبح بداخل المتغير او الاوبجكت سميه ماتسميه
هنا تم تعريف بدون استخدام كلمة new لماذا هذا الامر ؟
ماهو الفرق بين استخدام كلمة new وعدم الاستخدام ؟
السؤال الثاني :
كود :
Private Sub Form_Load()
'DB.OpenDatabase ("test.mdb")
Set DB = OpenDatabase("test.mdb")
Set RS = DB.OpenRecordset("user", 2)
End Sub
في هذا الكود اول سطر جربت اكتب DB.OpenDatabase ("test.mdb") بما انه DB اصبح نسخه من كلاس OpenDatabase لكن للاسف لم يستطيع الوصول بهذه الطريقة
لذلك السطر الثاني تم استخدام كلمة Set ولا اعلم ماهو فائدة هذه الكلمة ولماذا نستخدمها ؟
لهذا الشيئ سؤال الثاني حول استخدام كلمة Set لماذا استخدمها بالكود وماهي فائدتها
السؤال الثالث :
بنفس الكود السابق ماهو فائدة عملية الاسناد = بهذا الكود
كود :
Set DB = OpenDatabase("test.mdb")
مش المفروض يكون DB اوبجكت من كلاس Database وميثود OpenDatabase بداخل هذا الكلاس ؟ يعني الوصول لها استخدام الدوت .
لماذا استخدمنا هذه الطريقة للوصول لهذه الميثود ؟
السؤال الرابع :
الكود التالي
كود :
Set RS = DB.OpenRecordset("user", 2)
طريقة الوصول لميثود OpenRecordset هنا غريبة لانه هذه الميثود كما يقال من ضمن كلاس Recordset صح ؟
سؤالي كيف استطاع الاوبجكت DB من الوصول لها وهو اساسا من كلاس اخر .!
فاهم انه بهذه الطريقة نصل الى قاعدة البيانات التي نريد التعامل معها
المفروض كنا نقول
كود :
RS.OpenRecordset("user",2,DB)
صراحة هذه الاسئلة ماوجدت لها حل
كتطبيق تعمل بدون مشاكل لكن تطبيق كحفظ فقط وليس كفهم يعني حافظ الكود ولم افهمه طريقة الاستخدام وهذا شي غلط
اذا ممكن توضيح هذه النقاط لي بكون شاكر لكم