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

المكتبات المطلوبه للبرنامج

بدأه سلامه بيومى في 25 فبراير 2008 · 45 رد · 4,692 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#26

فعلاً أخي أنا لدي مثال من قبل بس بعد إذن حضرتك إنتظرني غداً سأرفق لك مثال بنفس متطلباتك بعد التعديل علية

شكراً

لا تخلط ما بين شخصيتي وأسلوبي .. فشخصيتي هي

ما أنا عليه وتحت تصرفي .. وأسلـوبي يعتمد عليـك

أنت وتصرفاتك

ولحظاتي صمت... وصمـت لحظاتي كلام ... كلامه

اشد آلام ... فصمتي أنا عنوان

عصر التكنولوجيا المعلوماتية(مدونتي الخاصة)

My FaceBook

#27

ماشى ياباشا

وياريت يكون التقرير زى الصورة المفقه فى المثال

وياريت تطبقة على المثال المرفق لك لانى فعلا مش عارف اعمل اكثر من كده

وشكرا فى انتظارك غدا

ويارب يجعل كل هذا فى ميزان حسناتك وربنا يوفقك دائما فى عون الناس

وكان الله فى عون العبد مادام العبد فى عون اخيه

#28

بص يا أخي ، أنا لدي مثال جميل جداً لكنني حاولت أبسط الأمور لك !!!

حيث في هذا المثال كنت مصمم جمل الـ SQL وجمل Shape من داخل الفيجوال 6.0 ، ولكنني قمت بتقسيم العمل بين الفيجوال والأكسيس ، حيث أنني أنشأت 3 عوارض View من داخل أكسيس الهدف الأساسي منهم هو إجراء جلب للبيانات من الجداول ولكن علي أساس إجراء حقول محسوبة مثل المجاميع وغيرها .. أما من داخل الفيجوال 6.0 فقمت ببناء جملة Shape فقط لا غير حتي لا يحدث تشتت لك أخي .

أنظر المرفق

شكراً

Simble.rar

لا تخلط ما بين شخصيتي وأسلوبي .. فشخصيتي هي

ما أنا عليه وتحت تصرفي .. وأسلـوبي يعتمد عليـك

أنت وتصرفاتك

ولحظاتي صمت... وصمـت لحظاتي كلام ... كلامه

اشد آلام ... فصمتي أنا عنوان

عصر التكنولوجيا المعلوماتية(مدونتي الخاصة)

My FaceBook

#29

حبيبي الغالي MMA_

أرجو شرح SHAPE ماذا يقصد به ؟و ماهو دوره؟ وكيف استخدامه ؟

شرح ممل الله يجفظك

#30

اخى الفاضل MMA_EG_Cairo

شكرا جزيلا على مجهودك الممتاز فى المثال المرسل لى وفعلا هوه ده التقرير المطلوب بالضبط

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

مضمونها بانه الاوبجكت مغلق

يبدو اننى عندى فيه حاجه غلط للعلم انا حطيط داتا بيز بها جداولى باسم db1

وها هو المثال ارجو ان تلقى عليه نظرتك وتعديل الخطا

جداولى هى التى عملت عليه وما تحتوى من بيانات

cust وهو اسماء العملاء

InvoiceSaleCredit الفاتوره بتفاصيلها

CustAccount اجماليات الفاتوره فقط بالتاريخ ورقم الفاتورة ورقم العميل كما يحفظ به اذون الدفع للعميل ايضا

وشكر

انا عارف انى غلبتك كثير

Simble.rar

#31
اقتباس
أرجو شرح SHAPE ماذا يقصد به ؟و ماهو دوره؟ وكيف استخدامه ؟

شرح ممل الله يجفظك

الأخ الكريم هناك ملف شرح بسيط بهذا الموضوع وبإحدي مشاركاتي أبحث عنة ، وعلي فكرة لو تعاملت مع الـ DataEnvironment يمكنك إنشاء ما ترغب فية بالويزرد Wizard وفي النهاية تأخذ الأمر جاهز كما تشاء ، علي الأقل لحين الإنتهاء من فهمة !!!

أما بخصوص الأمر Shape فهو أمر وظيفتة الأساسية هو بناء أكثر من Command بحيث أن كل Command يحتوي علي جملة إستعلام معينة ومرتبطة بجدول معين ( ويجب أن يكون جدول فعلي أو عارض مخزن بقاعدة البيانات ) ، ومن خلالها يتم الربط بين كل أمر Command علي أساس المفتاح الرئيسي Primary Key و مفتاح خارجي Foreign Key وذلك لتكوين تقرير معين وهي مفيدة جداً مع الـ Datareport مثال :

نفرض أنك ترغب في إنشاء تقرير يعرض كافة الرؤساء ومن ثم عرض المرئوسين في جدول كيف يتم ذلك !!!

Shape {Select * From Employee} As SuperEmployee Append ( Shape {Select * From Employee} As SEmpSub Relate Employee_ID To Employee_SuperEmp) As SEmpSub

مثال آخر ، أنت ترغب في عرض تقرير يحتوي علي كافة الأقسام ، وكل قسم ترغب في عرض الموظفين الذين يعملون بكل قسم :

Shape {Select Dep_ID,Dep_Name From Dep} As cmdDep Append (Shape {Select Emp_ID,Emp_Name,Emp_DepID From Emp} As cmdEmp Relate Dep_ID To Emp_DepID) As cmdEmp

................ وهكذا

--------------------------------------------------------------

اقتباس
اخى الفاضل MMA_EG_Cairo

شكرا جزيلا على مجهودك الممتاز فى المثال المرسل لى وفعلا هوه ده التقرير المطلوب بالضبط

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

مضمونها بانه الاوبجكت مغلق

يبدو اننى عندى فيه حاجه غلط للعلم انا حطيط داتا بيز بها جداولى باسم db1

وها هو المثال ارجو ان تلقى عليه نظرتك وتعديل الخطا

جداولى هى التى عملت عليه وما تحتوى من بيانات

cust وهو اسماء العملاء

InvoiceSaleCredit الفاتوره بتفاصيلها

CustAccount اجماليات الفاتوره فقط بالتاريخ ورقم الفاتورة ورقم العميل كما يحفظ به اذون الدفع للعميل ايضا

وشكر

انا عارف انى غلبتك كثير

علي فكرة أعتقد أنك لم تنظر الي مثالي جيداً !!!

أخي الكريم ، أنا لم أتعامل مع الجداول مباشرتاً وكان هدفي هو فصل المهام !!!

بمعني أدق ، أنا أنشأت ثلاثة عوارض View أو ثلاثة جمل إستعلام مخزنة بقاعدة البيانات وهم ( ListCustomer - ListInvoice - ListInvoiceDetail ) ، وإذا فتحت قاعدة البيانات ستجدهم !!!

أما من داخل الفيجوال 6.0 فأنا إستخدمت الثلاثة عوارض ولا أتعامل مع الجداول مباشرتاً !!!

أما بخصوص المشكلة في الكود فأخي معزرتاً الجداول (ListCust-ListCustAccount-tInvoiceSaleCredit) غير موجودة من أساسة في قاعدة البيانات DB1 التي قمت بإدراجها بالمرفقات السابقة !!!

فكيف أخي تكتب إسم جدول أو عارض غير موجود من أساسة .

أنت كتبت ما يلي :

Sql = "SHAPE {Select * From ListCust Where code = " & cmbCustomerName.ItemData(cmbCustomerName.ListIndex)

لاحظ أخي أنك كتبت إسم الجدول ListCust في الجملة ( Select * From ListCust ) وهذا الجدول غير موجود !!!

كذلك جدول ListCustAccount و جدول tInvoiceSaleCredit غير موجودين من أساسة ، لا جدول ولا عارض !!!

فهل يمكنك إنشاء إستعلام علي جدول أو عارض غير موجود من أساسة .

ياريت أخي تراجع علي هذا الخطأ ، وأنا موجود

شكراً

تم تعديل هذه المشاركة بواسطة MMA_EG_Cairo في 29 مارس 2008 في 16:38

لا تخلط ما بين شخصيتي وأسلوبي .. فشخصيتي هي

ما أنا عليه وتحت تصرفي .. وأسلـوبي يعتمد عليـك

أنت وتصرفاتك

ولحظاتي صمت... وصمـت لحظاتي كلام ... كلامه

اشد آلام ... فصمتي أنا عنوان

عصر التكنولوجيا المعلوماتية(مدونتي الخاصة)

My FaceBook

#32

ياصديق العزيز

انت لم تلاحظ ان مستواى صغير جدا جدا

وبالفعل توجد فى قاعدة بياناتك المرسله 3 استعلامات

كل مافهمته هو استعلام العملاء الاول

والاستعلامين الثانيين لم اعرف عنهم جاجه لان مستواى على قده ولم اجيد التعامل مع جمل الاستعلام

وكان قصدى هو انك تعملى الاستعلام على جداولى

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

وشكرا

#33
اقتباس
ياصديق العزيز

انت لم تلاحظ ان مستواى صغير جدا جدا

وبالفعل توجد فى قاعدة بياناتك المرسله 3 استعلامات

كل مافهمته هو استعلام العملاء الاول

والاستعلامين الثانيين لم اعرف عنهم جاجه لان مستواى على قده ولم اجيد التعامل مع جمل الاستعلام

وكان قصدى هو انك تعملى الاستعلام على جداولى

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

وشكرا

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

يارب دايماً بالتوفيق

شكراً

لا تخلط ما بين شخصيتي وأسلوبي .. فشخصيتي هي

ما أنا عليه وتحت تصرفي .. وأسلـوبي يعتمد عليـك

أنت وتصرفاتك

ولحظاتي صمت... وصمـت لحظاتي كلام ... كلامه

اشد آلام ... فصمتي أنا عنوان

عصر التكنولوجيا المعلوماتية(مدونتي الخاصة)

My FaceBook

#34

استاذى العزيز الفاضل

لقد فعلت مثلما قلت وفعلا قمت بعمل 3 استعلامات فى الاكسيس وفعلا افتح الاستعلام ويحضر بيانات اذن حسب علمى ان الاستعلام اذا فتح واحضر بيانات يكون صح

وعند رن البرنامج يشتكى من تعريف الحقول فى الريبورت تقريبا انا مش عارف اميز مابين الكوند واسماء الجداول

وبما انى فعلت ما بوسعى فارجوك بان تشوفه واعتقد انه سيكون تعديلك عليك مسائل فنيه

وشكرا لك

_____.rar

#35

اخى وصديقى الفاضل MMA_EG_Cairo

قبل كل شئ بعد ما تقريبا فهمت المثال المرسل منك وما فهمته هو

انك قمت بعمل 3 استعلامات الاول انك تحضر اسم العميل

والثانى انك تحضر منه رقم الفاتورة والتاريخ

والثالث لكى تحضر منه تفاصيل الفاتورة من اسم الصنف ورقم الصنف والسعر والكمه والاجمالى

هذا مافهمته اما صح واما خطأ

سؤالى او استفسارى هو

مش ممكن تعمل استعلامين او ثلاثه على جدول واحد

وسؤالى لهدف

ان عندى جدول تفاصيل الفاتورة يحتوى على كل ماتريد منه

اى به رقم الفاتورة -واسم العميل -رقم الصنف -اسم الصنف -السعر -اجمالى الصنف-اجمالى الفاتورة

وهذا هو سؤال فاذا كان ينفع اعمل استعلامين على جدول اتفاصيل الفاتورة واذا لزم الامر يكون استعلام على جدول العملاء لان استعلام جدول العملاء خفيف ومفهوم

وشكرا

#36
اقتباس
استاذى العزيز الفاضل

لقد فعلت مثلما قلت وفعلا قمت بعمل 3 استعلامات فى الاكسيس وفعلا افتح الاستعلام ويحضر بيانات اذن حسب علمى ان الاستعلام اذا فتح واحضر بيانات يكون صح

وعند رن البرنامج يشتكى من تعريف الحقول فى الريبورت تقريبا انا مش عارف اميز مابين الكوند واسماء الجداول

وبما انى فعلت ما بوسعى فارجوك بان تشوفه واعتقد انه سيكون تعديلك عليك مسائل فنيه

وشكرا لك

الأخ الكريم ، تحية طيبة وبعد ،

أولاً ، جملة الإستعلام صحيحة ، وطالما فتح كائن الـ Recordset يبقي سليم ( كما ذكرت ) .

ثانياً ، عند عرض التقرير يعرض لك رسالة ( DataField 'Invoice.Invoice_Code' not found ) ، وهذا يعي أن الحقل المسمي Invoice.Invoice_Code غير موجود ، فهل قاعدة البيانات تحتوي علي حقل يدعي Invoice_Code !!!!

الأخ الكريم ، إسمح لي أن أشرح لك فكرة Shape بدقة !!

الـ Shape كما ذكرت ما هو إلا مجموعة من الـ Commands المتشابكة ، وكل Command له إسم خاص :

Shape {<ضع هنا جملة الإستعلام>} As <Command ضع هنا إسم الـ>

وإذا أحببت أن تدرج أكثر من Command مع بعض فيجب أن يكون لكل Command إسم خاص .

أما عملية الربط فيتم من خلال إسم حقل بالـ Command الـ Master وهو الذي يمثل حقل الـ Primary Key بالجدول الرئيسي مثل حقل Invoice_ID وحقل Item_ID ، والربط مع إسم حقل Command في الـ Detail وهو الذي يمثل حقل الـ Foreign Key مثل InvoiceDetail_ItemID و InvoiceDetail_InvoiceID .... الي آخرة

فإذا أحببت أن تنشأ Shape يحتوي علي أمر واحد فقم بكتابة أسماء الحقول مباشرتاً في خاصية DataField ، أما إذا كنت ترغب في بناء تقرير يحتوي علي Group أو 2 Command يتم إدخال أسماء الحقول مباشرتاً للـ Command الـ Master ، أما الـ Command الـ Detail يجب عليك إدراج إسم الـ Command في خاصية DataMember ، وأي Command Detail يجب تحديد إسم الـ Command في هذه الخاصية .

علي سبيل المثال !!!

نفرض أنك ترغب في عرض تقرير فاتورة Invoice معين يجب بناء جملة Shape كما يلي :

Shape {Select * From Invoice} As cmdInvoice Append (Shape {Select * From InvoiceDetail} As cmdInvoiceDetail Relate Invoice_ID To InvoiceDetail_InvoiceID) As cmdInvoiceDetail

وبعد ذلك إذهب الي تقرير الـ Data Report وإدرج Group جديد ومن ثم في الـ Master Group قم بإدراج الحقول الخاصة بجدول الـ Invoice وحدد أسماء الحقول لكل حقل بخاصية DataField . أما بالنسبة للـ Detail Group فقم بإدراج خاصية DataMember بحيث أن تأخذ إسم الـ Command الذي يدعي cmdInvoiceDetail ومن ثم أدرج أسماء الحقول الخاصة بجدول Invoice Detail ...... وهكذا

ملحوظة أخيرة ، يمكنك بناء تقري من خلال DataEnvironment كما تشاء حيث تجد السهولة . وبعد ذلك قم بأخذ جملة Shape ونسخها ومن ثم إرسالها علي أساس ADODB Code .

أخي الكريم ، حاول تغيرخصائص الجداول وأي مشكلة أخري أنا موجود

شكراً

لا تخلط ما بين شخصيتي وأسلوبي .. فشخصيتي هي

ما أنا عليه وتحت تصرفي .. وأسلـوبي يعتمد عليـك

أنت وتصرفاتك

ولحظاتي صمت... وصمـت لحظاتي كلام ... كلامه

اشد آلام ... فصمتي أنا عنوان

عصر التكنولوجيا المعلوماتية(مدونتي الخاصة)

My FaceBook

#37

اخى واتساذ الكريم

تحيه واحترام وتقدير

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

وفعلا انا استفدت منك استفادة كبيرة جدا جدا وربنا يجعله فى ميزان حسناتك

وبعد نجاح العمليه طلعت لى مشكله اعتقد انها تكون بسيطة وليست عويصة قوى

وحسب علمى انه خطا فنى غير مفهوم بالنسبه لى

وهى تكرار بعض الاصناف فى الفاتورة وفيه صورة توضح التكرار فى بعض الفواتير وياريت فى كل الفواتير ولكن فى بعض الفواتير وبعض الاصناف وبدون انتظام

وللعلم

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

بمعنى عندى جدول تفاصيل الفاتورة يحتوى على بيانات كلها قابله للتكرار والربط برقم العميل مع جدول العملاء

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

وطبعا جدول العملاء فعلا به حقل رقم العميل بدون تكرار

اما الاصناف فيه مكونه من جدولين الاول الاصناف الرئيسيه به رقم الصنف بدون تكرار واسم الصنف

اما الجدول الثانى جدول الاصناف الفرعيه وبه تفاصيل الاصناف والاصناف مكونه من تفاصيل الصنف الفرعى الذى يندرج تحت الصنف الرئيسى

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

ملحوظه

ليه انت مش عاوز تشوف المثال المرسل لك بتاعى انا عاوز تعمل تعديل على المثال بتاعى من فضلك هذا هو ما اتمناه

وشكرا

salama.rar

post-137854-1206897291_thumb.jpg

#38

هذه المشكلة ترجع لجمل الإستعلام نفسها !!!

حاول تراجع المشكلة

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

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

شكراً

لا تخلط ما بين شخصيتي وأسلوبي .. فشخصيتي هي

ما أنا عليه وتحت تصرفي .. وأسلـوبي يعتمد عليـك

أنت وتصرفاتك

ولحظاتي صمت... وصمـت لحظاتي كلام ... كلامه

اشد آلام ... فصمتي أنا عنوان

عصر التكنولوجيا المعلوماتية(مدونتي الخاصة)

My FaceBook

#39

اخى الفاضل

سوف احاول مع الاستعلام مره اخرى بس فيه حاجه

ممكن استغنى عن جدول الاصناف واخد الصنف من تفاصيل الفاتورة احتمال تكون هيه دى المشكله

والثانيه لازم تكو فيه فهارس بدون تكرار فى جدول الفاتوره وجدول اجمالى الفاتورة

بس

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

ارجو ان تعرفنى ماهو اسم الجدول وماهو اسم الكومند فى هذه الجمل لانها تتداخل على لان اسماء الجداول متداخله فى ذهنى مع الاسماء فى الجمل معلش

Sql = "SHAPE {Select * From ListCustomer Where Customer_ID = " & cmbCustomerName.ItemData(cmbCustomerName.ListIndex)

Sql = Sql & "} AS Customer APPEND (( SHAPE {Select * From ListInvoice} AS Invoice APPEND "

Sql = Sql & "({Select * From ListInvoiceDetail} AS InvoiceDetail RELATE 'Invoice_ID' TO 'InvoiceDetail_InvoiceID') "

Sql = Sql & "AS InvoiceDetail) AS Invoice RELATE 'Customer_ID' TO 'Invoice_CustomerID') AS Invoice"

وشكرا

#40

الحبيب MMA_eG_CAIRO

الله يحفظك ......

أريد تحليل الكود جزء جزء الله يوفقك لعلي أفهم

#41
اقتباس
ممكن استغنى عن جدول الاصناف واخد الصنف من تفاصيل الفاتورة احتمال تكون هيه دى المشكله

ولماذا تحذفها ، فقط أفعل لها Group By

بصراحة وبدون ذعل ( سؤال غريب ) ، حيث من الممكن فتح قاعدة البيانات وجلب أسماء الجداول ومن ثم ستعلم ما هو الجدول وما هو إسم الـ Command !!!

علي العموم أسماء الجداول هو الموجود مع جملة Select * From TableName والموجودة داخل الأقواء { } ، أما إسم الـ Command هو الموجود بعد كلمة As بشرط أن يكون خارج الأقواء { } !!!

Shape {Select * From Invoice} As cmdInvoice

إذاً ، جملة الـ Shape تحتوي علي العوارض ListCustomer, ListInvoice, ListInvoiceDetail ، وكل جملة إستعلام مدرجة بين الأقواء { } هي Customer و Invoice و InvoiceDetail .

لذلك أخي من المفضل إدراج إسم الـ Command يبدأ بـ cmd مثل cmdInvoice و cmdCustomer ، أنظر الجملة التالية :

Sql = "SHAPE {Select * From ListCustomer Where Customer_ID = " & cmbCustomerName.ItemData(cmbCustomerName.ListIndex)
Sql = Sql & "} AS cmdCustomer APPEND (( SHAPE {Select * From ListInvoice} AS cmdInvoice APPEND "
Sql = Sql & "({Select * From ListInvoiceDetail} AS cmdInvoiceDetail RELATE 'Invoice_ID' TO 'InvoiceDetail_InvoiceID') "
Sql = Sql & "AS cmdInvoiceDetail) AS cmdInvoice RELATE 'Customer_ID' TO 'Invoice_CustomerID') AS cmdInvoice

لا تخلط ما بين شخصيتي وأسلوبي .. فشخصيتي هي

ما أنا عليه وتحت تصرفي .. وأسلـوبي يعتمد عليـك

أنت وتصرفاتك

ولحظاتي صمت... وصمـت لحظاتي كلام ... كلامه

اشد آلام ... فصمتي أنا عنوان

عصر التكنولوجيا المعلوماتية(مدونتي الخاصة)

My FaceBook

#42
اقتباس
الحبيب MMA_eG_CAIRO

الله يحفظك ......

أريد تحليل الكود جزء جزء الله يوفقك لعلي أفهم

عفواً أخي ، انا كدة هكرر ما ذكرتة سابقاً !!!

لكن كود Shape وظيفتة الأساسية هو ربط بين أكثر من جملة إستعلام .

علي العموم أخي سأعرض عليك مثال خفيف يتحدث عن المشكلة الأخيرة للأخ سلامة

نفرض أن لدينا ثلاثة جداول ، الأول Dep والثاني Emp والثالث Phone ، نرغب في عرض تقرير للمستخدم بحيث أن يتم عرض كافة الموظفين بقسم محدد ، مع العلم أن لكل موظف له أكثر من تليفون أو تليفون واحد أو ليس له أي تليفون !!!

أولاً ، لإنشاء الـ Command الأول يمكننا من خلال الكود التالي :

Shape {Select Dep_ID,Dep_Code,Dep_Name From Dep Order By Dep_ID} As cmdDep

لاحظ أخي أننا قمنا بإنشاء Command تحت إسم cmdDep بحيث ، هذا الـ Command يعتبر الرئيسي Master ، وهذا الـ Command سيرتبط مع Command آخر لذلك قمنا بإضافة حقل الـ Primary Key بجملة الإستعلام .

Select Dep_ID,Dep_Code,Dep_Name From Dep Order By Dep_ID

والمفتاح الرئيسي هو الحقل Dep_ID .

الآن يجب علينا إدراج الـ Command الثاني للموظفين علي الـ Command الأول :

Shape {Select Dep_ID,Dep_Code,Dep_Name From Dep Order By Dep_ID} As cmdDep

Append(Shape {Select Emp_ID,Emp_Code,Emp_Name,Emp_DepID From Emp Order By Emp_ID} As cmdEmp

لاحظ أخي أننا قمنا بإدراج Command علي الـ cmdDep تحت إسم cmdEmp ، ولكن الكود لم يكتمل بعد لأننا يجب علينا إجراء ربط بين الـ cmdDep وبين الـ cmdEmp !!!

وتتم هذه العملية علي أساس المفتاح الرئيسي للـ Master Command ، ولكن أخي ما هو المفتاح الخارجي ... المفتاح الخارجي يجب أن يدرج في الـ Detail Command ولو لاحظت عند إنشاء جملة إستعلام cmdEmp أدرجنا حقل المفتاح الخارجي وهو Emp_DepID ، أنظر كيف تتم عملية الربط :

Shape {Select Dep_ID,Dep_Code,Dep_Name From Dep Order By Dep_ID} As cmdDep

Append(Shape {Select Emp_ID,Emp_Code,Emp_Name,Emp_DepID From Emp Order By Emp_ID} As cmdEmp Relate Dep_ID To Emp_DepID) As cmdEmp

أنظر ما سبق ستجد أن عملية الربط تمت من خلال الأمر Relate ، فيتم إدراج إسم حقل الـ Primary Key في البداية ومن ثم إدراج إسم حقل الـ Foreign Key كما يلي :

Relate Dep_ID To Emp_ID

الآن إنتهينا من إنشاء Master Command و Detail Command !!!

باقي علينا أن ننشأ الـ Command الأخير الخاص بالـ Phone ولاحظ أن الـ Command الخاص بالهاتف Phone ستكون مرتبطة مع الأمر cmdEmp لذلك أكمل علي نفس الشكل السابق ولكن كما يلي :

Append ({Select * From Phone} As cmdPhone Relate Emp_ID To Phone_EmpID) As cmdPhone) Relate Dep_ID To Emp_DepID

أنظر الكود بعد إكمالة :

Shape {Select Dep_ID,Dep_Code,Dep_Name From Dep Order By Dep_ID}  As cmdDep 

Append ((SHAPE {Select Emp_ID,Emp_Code,Emp_Name,Emp_DepID

From Emp

Order By Emp_ID}  AS cmdEmp 



APPEND ({Select Phone_ID,Phone_EmpID,Phone_NO

From Phone}  AS cmdPhone RELATE 'Emp_ID' TO 'Phone_EmpID') AS cmdPhone) AS cmdEmp RELATE 'Dep_ID' TO 'Emp_DepID') AS cmdEmp

وللتسهيل ، يمكنك ربط الـ Emp مع الـ Phone ومن ثم إدراج Shape علية خاص بالـ Dep

في النهاية أعرض الحقول التي ترغب في عرضها للمستخدم ، اما الحقول الإضافية الخاصة بحقول الربط ليس من الشرط عرضها

أخيراً أخي ، إذا أحببت عرض بيانات قسم معين فهذا يرجع الي جملة الـ SQL المدخلة للقسم ، أنظر :

"Select Dep_ID,Dep_Code,Dep_Name From Dep Where Dep_ID = " & Val(Text1.Text)

أنظر الملف المرفق

شكراً

MMA.rar

لا تخلط ما بين شخصيتي وأسلوبي .. فشخصيتي هي

ما أنا عليه وتحت تصرفي .. وأسلـوبي يعتمد عليـك

أنت وتصرفاتك

ولحظاتي صمت... وصمـت لحظاتي كلام ... كلامه

اشد آلام ... فصمتي أنا عنوان

عصر التكنولوجيا المعلوماتية(مدونتي الخاصة)

My FaceBook

#43

اخى واستاذى العزيز الغالى

اولا واخيرا ليس امامى الا ان اتقدم بخالص الشكر والتقدير لشخصكم الكريم

فعلا فعلا انت مبدع وانا استفدت كثيرا وتعلمت من خلالك نقاط مهمه جدا

القرير بتاعى نجح بنسبه 100 %100 وكانت المشكله فعلا فى الاستعلام

لانى فعلا استغنيت عن جدول الاصناف وجبت الاصناف من الفاتورة ولان الاصناف عندى كانت تحتوى على جدولين ومش هطول عليك

ومن ناحيه تعريف الجمله الاخيرة باسماء الجداول والكومندات والاستعلام فعلا حلت لى لغز كنت لااعرف حله الا بعد تحليلك الممتاز له وعرفت راسى من رجلى

وربنا يخليك لنا وتساعد كل المحتاجين

ويارب ماكنش قد سببت لك ازعاج

واشكرا شكرا شكرا شكرا شكر شكرا جزيلا

والى اللقاء فى مشاجل جديده

#44

اخى العزيز الفاضل

لى سؤال لو فيه عند اجابه له

انا عاوز اعمل كوبى للكود بتاع البرنامج من الفيجوال الى ملف وورد

وعندما اعمل كوبى وبست بيجيب الكلام العربى هيروغليفى

وحاولت انت اعمل له بيست فى ملف تكست بالنوت باد برده نفس الكلام

وعملت ملف وورد وحفظته باسم ارتى اف وبرده نفس الكلام

مع العلم انى عندى اوفس 2003 ونوت باد 2 الجديده غير نوت باد الويندوز

والى عاملى مشكله انى كتن مرات كثيرة عمل هذا ومش عارف ايه الى جرى

ون كان عندك توجيهات لهذا

لانى عاوز اعمل زى كتاب لكلا يكون مرجع للاكود التى عملتها وارجع فيها فى اى وقت

وشكرا

وهذا مثال

' äÈÍË ÈÑÞã ÇáÚãíá æÍáÞÉ ÇáÊÇÑíÎ

Set rs_late_cust = Cn.Execute(" select * from PaymentCust where code = " & rs_late_1("code_1") & " and pay_date = '" & datex & "' ")

' ÊÍãá ÑÞã ÇáÚãíá Ýì ÌÏæá ÇáãÊÃÎÑÇÊ rs_late ("code_1") ÍíË Çä

#45

الأخ الكريم ، سؤالك فني وليس له علاقة بالفيجوال إطلاقاً !!!!

قم بالذهاب الي القطعة النصية التي ترغب في نسخها ثم حدد الجزء الذي ترغب في نسخة !!!

قم بالنقر علي مفتاحي Alt + Shift الأيمن وتأكد أن اللغة ( AR ) محددة علي شريط المهام .

ثم أنسخ القطعة النصية ومن ثم قم بالذهاب الي المكان المناسب ثم ألصق القطعة النصية !!!

علي فكرة ، سؤالك بعيد نهائياً كل البعد عن الفيجوال ، بل سؤال فني .

شكراً

لا تخلط ما بين شخصيتي وأسلوبي .. فشخصيتي هي

ما أنا عليه وتحت تصرفي .. وأسلـوبي يعتمد عليـك

أنت وتصرفاتك

ولحظاتي صمت... وصمـت لحظاتي كلام ... كلامه

اشد آلام ... فصمتي أنا عنوان

عصر التكنولوجيا المعلوماتية(مدونتي الخاصة)

My FaceBook

#46

الله يوفقك ......... دنيا و آخرة

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…