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

خصائص النماذج المستمرة

مغلق
بدأه panadol في 7 ديسمبر 2001 · 14 رد · 1,003 مشاهدة · في مراجعة المواضيع
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

كيف يمكنني إضافة نموذج فرعي لنموذج مستمر (continues form) دون تغيير خصائصة يعني الإستمرارية في عرض السجلات؟

و لإن كان ذلك غير ممكنا فكيف أستطيع وضع نموذج فرعي لنموذج أساسي به السجلات مستمرة أو متتالية؟

#2

الطلب الأول غير ممكن .

الطلب الثاني :

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

أرجو أن تكون المسألة قد وضحت لك ، ولكن ما سبب كل هذا ؟

ولك تحياتي

#3

السلام عليكم و رحمة الله و بركاته

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

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

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

و السلام عليكم و رحمة الله و بركاته

#4

نعم..

ما يدعوني لطلب هذا هو رغبتي في عمل فاتورة مبيعات نقدية - مثل الذي يحصل مع صفحات اكسل - و بالتالي يكفي إدخال الرقم المميز للقطعه ليكتمل باقي بياناتها في بقية الحقول بناءا على استعلام مربوط مع النموذج و لكن للأسف فإن عمل استعلام ملحق بالنموذج لإظهار القيم في بقية الحقول بعد إدخال الرقم المميز يمنع النموذج المستمر من خاصية الإستمرارية و بالتالي فإن المجموع الكلي لن يظهر ..

و هناك مشكلة أخرى و هي حين يكون إكمال الحقل حسب بيانات الإستعلام فإن هناك مشكلة عدم ظهور البيانات في الحقل المخصص من الجدول .

فمثلا إذا قلنا أن فلانا اشترى بتاريخ كذا(النموذج الأساسي) 3 كارتون تفاح و قيمة الكارتون 10ريال فالمجموع الكلي 30ريال (النموذج الفرعي) و هي القيمة التي لا تظهر في الحقل المخصص للجدول مع أن هناك حقلا تم تعيينه للمجموع الكلي في الجدول و ذلك لأنها عملية حسابية و بالتالي فهي غير مرتبطة بالجدول (unbound) فهل هناك طريقة لأجبارها على الظهور في الجدول لأن هناك استعلاما عن أعلى سعر مبيعات في اليوم؟؟؟

#5

الأخ panadol

إن رغبت فأرسل لي الملف على البريد .

ولك تحياتي

#6

الأخ ابو حمود

لقد أرسلت لك الملف على بريدك فأرجو سرعة الرد..

و لك اشواقي

#7

الأخ باندول

هل ملفك هو المسمى invoice ؟

على لو كتب اسمك حتى أعرفك لأني شايف الرسالة ولا اهتميت افتح الملف ما عرفت المرسل .

ارجو سرعة الرد .

ولك تحياتي

#8

الأخ أبو حمود

نعم هو الملف ..

مع أني كنت اعتقد انك قد حفظت اسمي و بريدي و لكن لا بأس ..

تحياتي

#9

الأخ panadol

الاسم والبريد الذي أرسل الملف بواسطتها غريب يعني ليس اسمك وأنا أعرف اسمك جيداً .

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

ارجو أن يكون التوضيح بنفس أسماء الحقول في القاعدة .

مع اعتذاري في التأخر لأنني حاولت فلم استطع اكتشاف شيء والعبارة التي كتبتها في النموذج غير واضحة .

ولك تحياتي

#10

نعم..

الوضع الحالي للنموذج يدل على أنه فاتورة نقدية بحيث تضع بيانات العميل و ثم الطلبية ..

و بما أن كل عميل يطلب الكثير من البضائع فعلى البائع هنا سرعة و دقة إدخال البيانات لذا فإنه يطلب من البرنامج إكمال باقي البيانات اعتمادا على الرقم المميز للقطعه الذي يتم إدخاله إما يدويا أو بمساعدة ماسحة الباركود و بالتالي فإن معرفة المجموع الكلي مطلوب قبل طباعة الفاتورة فكان الحقل (G Total ) و هو ليجمع كل السلع في النموذج الفرعي أي غير متصل بشئ فقط للعلم ..

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

بالنسبة لعمل الشاشة ..

النموذج الفرعي مرتبط بالنموذج الأساسي عن طريق INVOICE ID

الحقل ITEM ID يستقبل رمز أو الرقم المميز للسلعة ( المطلوب بعد فقدان التركيز في هذا الحقل ITEM ID أن يتم تحميل باقي بيانات السلعة في الخانات المخصصة لها من دون ان يفقد النموذج الفرعي خاصية الإستمرارية )

الحقل الأخير G TOTAL المطلوب منه أن يبين للبائع المجموع النهائي الذي وصلت إليه الطلبية أي مجموع السلع ..

ملاحظة هناك بعض التعديلات على القاعدة تم إرسالها على بريدك..

و تحياتي

#11

اعتقد أن تصميم القاعدة الحالي فيه خطأ :

عندنا ثلاثة أشياء العميل - الفاتورة - تفصيل الفاتورة لذلك يلزمنا ثلاثة جداول :

يحتوي الأول ولنسميه بيانات العملاء على حقل رقم العميل واسمه وبياناته الأخرى .

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

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

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

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

ولك تحياتي

#12

الأخ أبو حمود

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

تحياتي

#13

والله أنت أعرف بحاجتك .

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

واعتقد أن طلبك ليس صعباً ولكن ما بيدي حيلة .

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

مع اعتذاري لتضييعي لوقتك .

ولك تحياتي

#14

الأخ أبو حمود..

تم عمل اللازم و إن شاء الله يكون الحل ما هو معقد..

تحياتي

#15

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

والآن قم بالخطوات التالية وإنشاء تحل طلباتك :

1- لربط النموذج الفرعي الثاني بالنموذج الفرعي الأول :

(1) يجب تحويل حقل رقم الفاتورة في جدول وصف الفاتورة من ترقيم تلقائي إلى رقم صحيح طويل بعد حذف العلاقة بينهما ثم إعادتها بعد التحويل .

(2) في حدث عند الحالي للنموذج الفرعي الأول المسمى INVOICEs ضع :

On Error Resume Next
Forms![العملاء]![INVOICE DETAILS].Form.Filter = "[رقم الفاتورة]=INVOICEs![رقم الفاتورة]"
Forms![العملاء]![INVOICE DETAILS].Form.FilterOn = True

(3) في صفحة الخصائص للنموذج الفرعي الثاني المسمى INVOICE DETAILS في صفحة التبويب بيانات في خاصية حقول الربط التابعة اكتب :

رقم الفاتورة

وفي خاصية حقول الربط الأساسية اكتب :

INVOICEs![رقم الفاتورة]

2- لإظهار بقية البيانات بعد اختيار رقم القطعة :

(1) حول مربع النص ITEM ID الى قائمة منسدلة على النموذج وفي خاصية مصدر الصف ضع :

SELECT [السلع في المخزن].[رقم السلعة], [السلع في المخزن].[وصف السلعة] FROM [السلع في المخزن];

وفي خاصية عدد الأعمدة ضع 2

وفي خاصية عرض الأعمدة ضع 0سم;4سم أو أي مقاسات تناسبك .

(2) في حدث بعد التحديث لمربع نص ITEM ID ضع :

DISCRIPTION = DLookup("[وصف السلعة]", "السلع في المخزن", "[رقم السلعة]=" & Forms![العملاء]![INVOICE DETAILS]![ITEM ID])
PRICE = DLookup("[قيمة القطعة]", "السلع في المخزن", "[رقم السلعة]=" & Forms![العملاء]![INVOICE DETAILS]![ITEM ID])

3- لجمع مبالغ الفاتورة أظهر تذييل النموذج للنموذج الثاني المسمى INVOICE DETAILS بزيادة ارتفاعه ثم ضع عليه مربع نص باسم مجموع_الفاتورة وفي خاصية مصدر عنصر التحكم له ضع :

=Sum([المجموع])

وفي خاصية مرئي لمقطع تذييل النموذج اختر لا .

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

=[INVOICE DETAILS]![مجموع_الفاتورة]

(f) (f)

ولك تحياتي

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

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

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

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

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

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