الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

برنامج عن المبيعات والمخازن... الحلقة الثانية

مغلق
بدأه major رحمه الله في 20 أبريل 2005 · 11 رد · 11,582 مشاهدة · في قسم الدروس والمواضيع الهامة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

لقائنا الثاني في تصميم برامج المبيعات والمخازن

في هذه الحلقة سنتعرف علي أحد الأدوات المخصصة للعمل مع النظام الجاري تصميمه وهي الأداة MajorIndex.ocx

قم بفك الضغط عن الملف الموجود في المرفقات ، وستجد بداخلة مجلد يدعي Major ، أنقل هذا المجلد إلي القرص C أو أي قرص به مساحة خالية وإن كان يفضل القرص C حتى نتأكد في البداية أن كل شئ يعمل كما يجب ، لا تقوم بتشغيل المشروع الآن فنحن نحتاج إلي تسجيل الأداة Majorindex.ocx أولا ، ولعمل ذلك أتبع ما يلي

قم بتشغيل Visual Basic علي مشروع جديد ، ومن القائمة Project اختر Components ثم أضغط علي زر Browse في القائمة التي تظهر أمامك ، سيظهر أمامك صندوق عرض الملفات ، أذهب إلي المجلد c:\major\tools ستجد بداخلة أداة OCX باسم Majorindex ، قم بالنقر علي هذه الأداة لتسجيلها

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

في داخل المجلد Major ستجد مجلد فرعي يسمي test1 داخل هذا المجلد ستجد مشروع قم بفتحه في فيجوال بيسك ، ثم قم بتشغيل المشروع

عند تشغيل المشروع ستظهر أمامك نافذة تعرض بعض الأصناف كما يوجد علي هذه النافذة زرين للتقليب بالضغط علي زر تالي يتم عرض 25 سجل التالية وبالضغط علي زر سابق تعرض النافذة 25 سجل السابقة ، كما يمكنك البحث في السجلات بكتابة أي عدد من الحروف في صندوق النصوص الموجود علي النافذة جرب ذلك بإدخال بعض الحروف المكونة للأصناف المعروضة . أنقر علي أحد الأصناف ستجد أن العنصر ظهر في أداة العرض Label في أعلي النافذة

والأداة المستخدمة في هذه النافذة تسمي Majorindex والتي قمنا بتسجيلها في بداية الحلقة ، وتقوم هذه الأداة بعرض بيانات جدول بطريقة يمكن استخدام عمليات التنقل والبحث فيها ، وهي أداة قوية بالنسبة للوظيفة المنوطه بها ، وسنقابل هذه الأداة في جميع نماذج المشروع ، لعرض البيانات التي يتعامل معها النموذج بصورة جدولية ، ففي نموذج العملاء سنقابل هذه الأداة وهي تعرض بيانات العملاء ، وفي نموذج الفواتير سنقابل هذه الأداة وهي تعرض أصناف المخزون مع أرصدتها ، وفي نموذج الموردين ستعرض الأداة بيانات الموردين وهكذا

ولا تحتاج الأداة إلي إجراءات كثيرة لبرمجتها فهي تحتاج إلي سطرين فقط ، في السطر الأول يتم تمرير مجموعة السجلات المطلوب عرضها ، السطر الثاني لعرض هذه السجلات . ودعنا الآن ننظر إلي الموضع بشئ من التفصيل ، لأن العمليات الموجودة في هذه النموذج ستتكرر معنا دائما في جميع نماذج المشروع ولذلك سيكون من الأفضل التعرض لهذه العمليات بصورة مستقلة ، وهذا المشروع فرصة لعرض هذه الإجراءات ، قم الآن بوقف تشغيل المشروع ، وافتح الإجراء Form_Load() ستجده بهذه الصورة

Private Sub Form_Load()
Dim Dbname As String
Dbname = App.Path & "\major.mdb"
AdoOpenConnection Dbname, dbcon
setColCaption
View_index
End Sub

وهو كود بسيط سنقابله في جميع نماذج المشروع بلا استثناء لذلك أري أن أتعرض إليه بشئ من التفصيل

في السطر الأول يتم الإعلان عن المتغير Dbname

في السطر الثاني يتم شحن هذا المتغير بالمسار الكامل لقاعدة البيانات

في السطر الثالث يتم استخدام الوظيفة AdoOpenConnection في إنشاء الاتصال بقاعدة البيانات وكما هو واضح تحتاج هذه الوظيفة لتمرير متغيرين الأول لقاعدة البيانات المطلوب إنشاء اتصال معها والثاني من النوع Connection ويعبر عن كائن الاتصال

في السطر الرابع يتم استدعاء الإجراء setColCaption ومن خلاله يتم تحديد اتساع أعمدة الأداة ووضع عناوين هذه الأعمدة بالضبط مثل ما يحدث مع الأداة Flexgrid لإن الأداة Majorindex تستخدم هذه الأداة

في السطر الخامس يتم استدعاء الإجراء View_index لعرض مجموع السجلات علي الفهرس

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

إذا نظرنا إلي هذا الإجراء سنجده كما يلي

Sub View_index()
Dim MySql As String
Dim ds As ADODB.Recordset
Set ds = New Recordset
MySql = "SELECT Product.ProductID, Product.ProductName, Product.Price "
MySql = MySql & " FROM  Product "
MySql = MySql & " WHERE INSTR(1,ProductName,'" & txtfind & "') > 0;"
ds.Open MySql, dbcon
index1.DataSource = ds
index1.View_Irem
End Sub

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

في السطر الأول الإعلان عن المتغير Mysql

في السطر الثاني والثالث الإعلان عن المتغير Ds من النوع ADODB.Recordset وإنشاء نسخة من هذا المتغير

في السطور الرابع والخامس والسادس جملة Sql والتي تحدد مجموعة السجلات التي سيتم إنشاء مجموعة سجلات لها وتفسيرها

اختر الحقول ProductID و ProductName و Price من الجدول Product عندما تكون قيمة الحقل ProductName محتوية علي الحروف الموجودة في صندوق النصوص Txtfind

في السطر السابع يتم فتح مجموعة السجلات

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

في السطر الثامن يتم تمرير مجموع السجلات إلي الخاصية DataSource للأداة Majorindex كما في السطر

index1.DataSource = ds

ثم استخدام الأسلوب View_Irem للأداة لعرض هذه السجلات كما هو واضح في السطر

index1.View_Irem

هذا كل شئ بالنسبة لهذه الأداة ، فمثلا لو احتجنا إلي عرض سجلات العملاء مثلا عليك تعديل عبارة Sql فقط لتصبح مثلا

MySql = " SELECT CustomerID, CustomeName, Country "
MySql = MySql & " FROM Customer "
MySql = MySql & " WHERE INSTR(1,CustomeName,'" & txtfind & "') > 0;"

مع تغيير عناوين الأعمدة واتساعها من الإجراء setColCaption

بقيت نقطة واحدة حتي تكتمل الصورة في الإجراء Sub txtfind_Change لصندوق النصوص txtfind ضع السطر التالي

Private Sub txtfind_Change()
View_index
End Sub

وحتي تكتمل الصورة ضع السطر التالي في الحدث index1_Click ليصبح كما يلي

Label1 = index1.TextMatrix(index1.Row, 1)

بحيث يصبح كما يلي

Private Sub index1_Click()
Label1 = index1.TextMatrix(index1.Row, 1)
End Sub

فعند النقر علي أحد سطور الشبكة يتم عرض اسم الصنف علي الأداة Lable في أعلي النافذة وإذا أردت أن تعرض رقم الصنف استخدم السطر التالي بدلا من السطر السابق

Label1 = index1.TextMatrix(index1.Row, 0)

وإلي اللقاء في الحلقة القادمة وسنقوم فيها بإنشاء نموذج لتحديث جدول الموردين

الحلقة الأولي

Major

Major.rar

تم تعديل هذه المشاركة بواسطة major في 21 أبريل 2005 في 04:28

#2

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

Major

#3

اشكرك أخي الفاضل على الحلق الثانية

وسوف أتابع هذا الموضوع الشيق

وسوف أقرأه ولي عودة إن كان عندي اسأله

بارك الله فيك

وجعل الله كل مشاركاتك في ميزان أعمالك

يا ملك الفيجوال بيسك يا اخي الفاضل major

وشكر لك

#4

يعطي الف عافية اخي

دائما مبدع

#6

الأخت رزان

شكرا علي تشجيعك ودعواتك الرائعة

الأخ smart4463

شكرا علي تشجيعك

الأخ eng_ibr

شكرا عزيزي علي هذه الكلمات الرقيقة

Major

#7

للمشاركة

Nothing to mention except that I am Muslim

Using your brain is not bad as you think

My Blog

logo.jpg

#8

جزالك الله خيرا

#9

شكرااااااااااااااااااااااااا لك

#10

مشكور اخي على الشرح الرائع

والله يعطيك الف عافية ويزيدك كمان وكمان

اخي اعملت انا مشروع واستخدمت الموديول اللي انت عملته بس المشكلة لما اعمل رن

بتطلعلي رسالة

كما في الصورة

ارجو من حضرتك ان تسعفني بالحل

ودمت في راعاية الله

pz_819521863.jpg

pz_287926688.jpg

#11

أخي العزيز frihat

السلام عليكم

بالنسبة لرسالة الخطأالأولي فهي غير واضحة ولذلك لم أتمكن من قرائتها

أما بالنسبة لرسالة الخطأ الثانية فهي نتيجة عدم إرفاق كائن قواعد البيانات بالمشروع ، أرجو مراجعة دورة الأخ ناصر وستجد الرابط الخاص بها في الحلقة الأولي من هذه الدورة وبالتحديد في الصفحة الرابع الحلقة السابعة من الدورة بخصوص مع التعامل مع الكائن ActiveX Data Object (ADO وأن كنت انصحك بدراسة هذه الدورة كاملة دراسة متأنية قبل البدء في دراسة حلقات دورة التطبيقات التجارية

ملحوظة

دورة التطبيقات التجارية تم نشر 6 حلقات فقط ، منذ عامين تقريبا ولظروف خاصة توقفت عن نشر هذه الحلقات

وأقوم الآن بإعادة صياغة هذه الدورة ، وانصحك البدء بدراسة دورة الأخ ناصر لحين الأنتهاء من إعادة الصياغة

Major

#12

جزاك الله خيرا اخوي

هذا الموضوع مغلق.

مواضيع مشابهة