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

الترحيل الجزئي و الكلي للسجلات من فورم فرعي بناء علي شروط

مغلقرائج
بدأه reagent في 22 مارس 2003 · 65 رد · 3,839 مشاهدة · في مراجعة المواضيع
مشاركة: واتساب X فيسبوك تيليجرام
#51

أخي العزيز أنا مستغرب جدا من المشكلة

عموما خليك علي جهاز عليه ويندوز اكس بي و اوفيس اكس بي لتكون نفس الظروف

دعك تماما من النماذج

قم باضافة كمية منفذ الي الجدول بحيث تمثل جزء من الكمية

ثم إنظر الي الاستعلام المسمي NonCompleted2 فمن المفترض أن يظهر به بيانات السجل الذي سيتم الترحيل منه ( أي السجلات التي تم تنفيذ جزء منها و سيتم اغلاقها و فتح سجل جديد بالمتبقي منها لاحقا )

ثم شغل الاستعلام المسمي

appendNewTrans

و لاحظ الجدول هل تم اضافة سجل جديد ؟؟

ثم شغل الاستعلام المسمي

UpdatePerform

و انظر هل قام بنحديث خانتي ال "جزء " و perform

فى الجدول للسجل الاصلي قبل الترحيل ؟؟

#52

الأخ العزيز محمد

لقد قمت بعمل ما قلت بالتحديد ولكن ما حدث كان كالتالي

1- عند تشغيل Noncompleted2 لا يوجد بيان في داخلها

وبالتالي الأستعلامين الأخرين ليس لهم اي تأثير

2- قمت بفتح الأستعلام noncomplted2 في وضع تصميم فوجدت ان ال perform انت مختار "0" فقمت بمسحها وترك cretria فارغة فكانت النتيجة انها تعمل

قمت بتشغيل استعلام appendnewtranse ولم يجري اي تأثير على الجدول فايضا قمت بفتحة ومسح شرط ال "0" من ال perform فكانت النتيجة انه يعمل وقام بعمل بيان جديد بالمتبقي ولكن ال perform ما زالت yes

قمت بتشغيل استعلام updateperform ولكن لا شئ حدث

الأن صراحة انا عندي تداخل في كل الأمور ولا استطيع التوصل لسبب المشكلة لأن كما قلت لك من قبل انا خبرتي بسيطة جدا في الDB فارجو منك ان ترشدني ما الذي يمكنني عمله بالتحديد لكي استطيع التوصل لأي حل للانتهاء من هذا البرنامج :o

تحياتي

"وَمَا تَدْرِي نَفْسٌ مَّاذَا تَكْسِبُ غَداً وَمَا تَدْرِي نَفْسٌ بِأَيِّ أَرْضٍ تَمُوتُ إِنَّ اللَّهَ عَلِيمٌ خَبِيرٌ"

صدق الله العظيم

#53

أخي العزيز

فى الملف رقم 6

سنتوقف قليلا عند الاستعلام المسمي

NonCompleted2

و الذي هو عبارة عن عرض لبعض البيانات من الجدول المسمي

Trans

مع وجود ثلاث شروط

الأول هو أن المنفذ أكبر من صفر

stdone>o

و الثاني هو أن الفرق بين الإجمالي و المنفذ أكبر من صفر

rem: Nz([sttotalno]-[stdone];0) > 0

و الاخير أنه لم يسبق تنفيذه

Perform =0

فمن المفترض أن أي سجل تنطبق عليه هذه الشروط فى الجدول المسمي

Trans

سيظهر فى الاستعلام المسمي

NonCompleted2

فاذا لم يظهر السجل فهذا لا أجد له تفسير سوي خطأ فى الادخال

أو

أن الدالة

nz

لا تعمل لديك لسبب أو لآخر

فجرب استبدال

rem: Nz([Sttotalno]-[stdone];0)

ب

rem:[Sttotalno]-[stdone]

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

null

أي أنه لابد أن يكون به قيمة أو صفر

و يمكن وضع قيمة افتراضية لمربع النص

و رسالة تحذير اذا كانت القيمة

NULL

و لكن هذا ليس مجالنا الآن

فقط تأكد من أن الحقلين بهما قيمة أو صفر

فاذا ظهر السجل فى الاستعلام

NonCompleted2

فشغل الاستعلام

appendNewTrans

و الذي يقوم باضافة سجل جديد

به القيمة المتبقية

و لاحظ هل تم اضافة السجل أم لا

و أخيرا شغل الاستعلام

المسمي

UpdatePerform

و الذي يقوم بالتعليم علي حقل

PERFORM

فى السجلات التي تم تنفيذها

و لاحظ هل تم التعليم أم لا

فاذا سارات الامور علي ما يرام

فسيكون الزر فى الفورم الذي يخص حل الماكرو

يعمل

و لا تنس ضغط

F9

بعد التنفيذ

لكي يحدث

REFRESH

اذا صارت الامور جيدا بهذه الاسلوب

فسيتبقي بعض التنقيحات

أما اذا لم يكن فللاسف :(

فسيكون عليك أنت بذل الجهد لاكتشاف المشكلة

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

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

لذلك فسيكون ملف توضيحي مبسط أفيد للحل من استمرار محاولة تبرير ما يحدث

و قد يكون لدي أحد الأخوة حل آخر يفيدك به

فكل الأمثلة الأخيرة تعمل جيدا لدي

و ليس لدي تفسير لما يحدث معك علي الرغم من انك جربت علي أكثر من جهاز

#54

الأخ محمد

والله مش عارف اقولك ايه فعلا انت عملت العليك واكتر بكتير ولكن المشكلة عجيبة وخاصة انها قابلتني في اول وأخر احتكاك لي مع الاكسس إن شاء الله :o

لي استفسار بسيط ..

اقتباس
مع وجود ثلاث شروط

الأول هو أن المنفذ أكبر من صفر

stdone>o

و الثاني هو أن الفرق بين الإجمالي و المنفذ أكبر من صفر

rem: Nz([sttotalno]-[stdone];0) > 0

و الاخير أنه لم يسبق تنفيذه

Perform =0

كيف يكون ال perform =0 ؟؟ فنحن نقوم بكتابة الرقم المطلوب تنفيذه ثم نضع علامة "اختيار" على البيان المراد تنفيذه ثم نضغط على زر تنفيذ فبالتالي perform تأخذ القيمة yes وليس 0 وبالتالي لا يمكن ان تظهر في الأستعلام ..

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

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

"وَمَا تَدْرِي نَفْسٌ مَّاذَا تَكْسِبُ غَداً وَمَا تَدْرِي نَفْسٌ بِأَيِّ أَرْضٍ تَمُوتُ إِنَّ اللَّهَ عَلِيمٌ خَبِيرٌ"

صدق الله العظيم

#55

بالنسبة للتعامل مع الحقول من نوع نعم/لا مثل الحقل المسمي perform

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

أولا فى حالة الاختيار

============

perform = 0

==

perform = False

==

perform = no

==

perform = off

==

حالة عدم الاختيار

ثانيا حالة عدم الاختيار

============

perform = -1

==

perform = True

==

perform=yess

==

perform = off

==

حالة الاختيار

مع تحياتي

#56

الأخ محمد

نعم انا أعلم هذا ولكن يبدو اني لم استطيع توصيل استفساري

السؤال هو

خطوات التنفيذ هي

1- كتابة عدد السهم المطلوب تنفيذها

2- الضغط على الختيار من perform

3- هطذا لكل الريكورد المطلوب اختيارها

4- الضغط على زر تنفيذ ليتم اجراء العمليات من ترحيل اذا كان المطلوب تنفيذه اقل من العدد الكلي او اخفاء للبيان كاملا اذا كان العدد المنفذ هو نفسه العدد الكلي للاسهم

المشكلة الن انك وضعت في الأستعلام notcompleted2 شرط لن يكون الperform=0 فهذا الشرط بالطبع لا يكون موجود حيث ان الييان قد تم اختيارة بعمل علامة اختيار عليه بعد ادخال عدد السهم الطلوب ان يتم تنفيذها وبالتالي اعتقد ان هذا هو سبب في عدم عمل الترحيل

فربما عندما قمت انت بتجربة البرنامج فأك تقوم بأدخال الرقم المراد تنفيذه ثم عقب ذلك تضغط تنفيذ بدون أختيار علامة الأختيار في perform لن عند تجربة هذا وجدته فعلا يرحل ولكن المشكلة ان هذا لا يصلح لأن في العمل سوف يكون هناك بيانات كثيرة وربما انفذ لبعضها والبعض لا فلذا لا بد كم اختيار كل بيان مطلوب تنفيذه بوضع علامة صح عليه في خانة الperfrom

اريد ان اعرف رايك هل هذا صحيح ؟؟

"وَمَا تَدْرِي نَفْسٌ مَّاذَا تَكْسِبُ غَداً وَمَا تَدْرِي نَفْسٌ بِأَيِّ أَرْضٍ تَمُوتُ إِنَّ اللَّهَ عَلِيمٌ خَبِيرٌ"

صدق الله العظيم

#57
اقتباس
- الضغط على الختيار من perform

هذا غير مطلوب

لأن البرنامج يقوم به آليا بالاستنتاج

و ان اخترتها لن يتم الترحيل فى أي من الحالات

لا تختارها و جرب البرنامج ثانية

ستجد انه تم الترحيل و بمراجعة الجدول ستجد أنه تم التعليم عليها

يبدو أننا وصلنا لنقطة المشكلة :D

#58

نعم :D

الحمد الله الأن انا متأكد ان هذا هو السبب

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

"وَمَا تَدْرِي نَفْسٌ مَّاذَا تَكْسِبُ غَداً وَمَا تَدْرِي نَفْسٌ بِأَيِّ أَرْضٍ تَمُوتُ إِنَّ اللَّهَ عَلِيمٌ خَبِيرٌ"

صدق الله العظيم

#59

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

و انما يستنتجها من القيم

بمعني

أنه اذا كان :

- المنفذ أكبر من صفر

- و

- الاجمالي أكبر من المنفذ

فانه يقوم بالتنفيذ

ثم التعليم علي حقل perform آليا ليدل علي أن السجل قد تم ترحيله

فلا يتم ترحيله بعد ذلك فى عمليات الترحيل التالية

أي أن الحقل المسمي perform أنا أستخدمه للتعليم علي السجلات التي تم ترحيلها فور الترحيل

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

و هو أنسب من وجهة نظري - فلا داعي لأن أختار طالما من الممكن الاستنتاج آليا

أم لديك وجهة نظر أخري ؟؟

مع تحياتي

#60

نعم أخي كلامك صحيح ولكن وجهة نظري هي ما هو الوضع عند عمل تنفيذ كلي اي ان عدد الأسهم المنفذة يساوي العدد الكلي

وكذلك في حالة وجود بيان لا نرغب في تنفيذ اي عدد من الأسهم له فبالتالي يريد المستخدم لأن يقوم بأختيار البيان بوضع علامة اختيار عليه حتى يشعر ان التنفيذ سيتم للمختار فقط حيث انه في الطبيعي هذا النموذج يحتوي ما بين 50 - 100 بيان مرة واحدة فأعتقد انه سيوجد مجال للخطأ في الوضع الحالي للبرنامج

"وَمَا تَدْرِي نَفْسٌ مَّاذَا تَكْسِبُ غَداً وَمَا تَدْرِي نَفْسٌ بِأَيِّ أَرْضٍ تَمُوتُ إِنَّ اللَّهَ عَلِيمٌ خَبِيرٌ"

صدق الله العظيم

#61
اقتباس
نعم أخي كلامك صحيح ولكن وجهة نظري هي ما هو الوضع عند عمل تنفيذ كلي اي ان عدد الأسهم المنفذة يساوي العدد الكلي

دي بسيطة نستبدل > ب >= فى الجزء الخاص بالتعليم علي الحقل

اقتباس
وكذلك في حالة وجود بيان لا نرغب في تنفيذ اي عدد من الأسهم له فبالتالي يريد المستخدم لأن يقوم بأختيار البيان بوضع علامة اختيار عليه حتى يشعر ان التنفيذ سيتم للمختار فقط حيث انه في الطبيعي هذا النموذج يحتوي ما بين 50 - 100 بيان مرة واحدة فأعتقد انه سيوجد مجال للخطأ في الوضع الحالي للبرنامج

أنا أري أن مجال الخطأ أكبر فى حالة الاختيار اليدوي

و أنا أفضل أحد الحلين

أولا القديم : و هو ترحيل سجل واحد فقط

ثانيا الحالي : و هو ترحيل آلي بناء علي القيم ، أي اذا وجدت قيمة أكبر من صفر و أقل من الاجمالي يتم فتح سجل جديد ثم التعليم علي كل ما هو قيمته أكبر من صفر و أقل من أو يساوي المنفذ بحيث لا يتم ترحيله ثانية

أما إن أردت الاختيار اليدوي فانت أدري بما تحتاج

و أخبرني أيهما تريد لنعدل الاكواد

مع تحياتي

#62

السلام عليكم

زعلي على عنوان الموضوع الغير مفيد بالنسبة للبحث

مشاركة تتعدى 50 رد وعنوانها غير واضح

;)

صورة
صورة

حسابي في الفيس بوك
http://goo.gl/XIzwL

حسابي في تويتر
http://goo.gl/6p4e3

 

 
 
#64

السلام عليكم

أخي الكريم محمد

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

1- قمت بادخال البيلنات في نموذج11 ثم طبعت تقارير قبل البيع ( كل شئ تمام والمور حتى الأن ممتازة) وكان شكل الجدول كالأني

1.JPG

2- قمت بفتح فورم التنفيذ وأختيار عمليات البيع فقط (فرز) فكانت الصورة كالتي

2.JPG

3- ثم شراء فكانت كالتالي

3.JPG

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

4- قمت بادخال تنفيذ في عمليات البيع فقط 100 ثم 130 ثم 150 اي جزء - كل - جزء فكانت الصورة كما يلي

4.JPG

لم اقم بعمل اي تنفيذ في عمليات اشراء

5- ضغط على زر تنفيذ فكانت النتيجة

5.JPG

هنا بدات المشاكل

أ- التنفيذ الكلي لم يختفي من الفورم

ب- تاريخ التنفيذ لا يظهر تلقائيا كما كان

ج- عند الذهاب لعمليات الشراء (فرز) دون عمل اي شئ او ضغط اي شئ فنجد ان النتيجة

6.JPG

وكان الشكل العام للجدول كما يلي

7.JPG

6- قمت بعمل تنفيذ عدد 30 سهم للبيان المحتوي على عدد كلي 40

8.JPG

7- عند الضغط على تنفيذ كانت النتيجة

9.JPG

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

كما ان الصورة لفورم الشراء كانت كما يلي :o

10.JPG

والصورة الكلية للجدول هي ..

11.JPG

يا رب اكون استطعت توصيل الصورة كاملة لك

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

"وَمَا تَدْرِي نَفْسٌ مَّاذَا تَكْسِبُ غَداً وَمَا تَدْرِي نَفْسٌ بِأَيِّ أَرْضٍ تَمُوتُ إِنَّ اللَّهَ عَلِيمٌ خَبِيرٌ"

صدق الله العظيم

#65

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

أن يكون هذا ما تريد

أدخل السجلات

أدخل المنفذ

لا تعلم علي شيئ

إضغط تنفيذ

سيظهر الأثر علي السجلات الاصلية مع تاريخ التنفيذ

اضغط REFRESH لتري السجلات الجديدة مع اختفاء الاصلية نتيجة لتعليمها أو اضغط F9 بدلا من زر REFRESH

أتمني أن يكون هذا ما تريد

test_reaganet7.rar

#66

الأخ الكريم محمد اشكرك من كل قلبي وجزاك الله خيرا على هذا المجهود الجبار الذي قمت به معي ..

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

جزاك الله كل خير وزادك من علمه إن شاء الله

"وَمَا تَدْرِي نَفْسٌ مَّاذَا تَكْسِبُ غَداً وَمَا تَدْرِي نَفْسٌ بِأَيِّ أَرْضٍ تَمُوتُ إِنَّ اللَّهَ عَلِيمٌ خَبِيرٌ"

صدق الله العظيم

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

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

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

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

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

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