حلت مشكلة في مشروع قاعة الانتظار

إنضم
14 أفريل 2016
المشاركات
595
مستوى التفاعل
263
بسم الله الرحمن الرحيم
السلام عليكم

المشروع


فكرة المشروع
sshot-1.png


عندما اضغط على جديد يعطيني الرقم 4

لكن عند الحفظ يغير لا يضيف الجديد بل يغير 3 الى 4


فاين الخلل في المشروع رحمكم الله
 
إنضم
14 أفريل 2016
المشاركات
595
مستوى التفاعل
263
بارك الله فيك اخي احمد
لو عندا 3 اشخاص في قاعة الانتظار
عندما نحذف مثلا الرقم 1 لانه تم فحصه
يختل الامر عند اضافة شخر اخر
 

Ahmed Jendoubi

Developpeur Windev
طاقم الإدارة
إنضم
17 جوان 2013
المشاركات
3.411
مستوى التفاعل
6.145
كل ما عليك الان هو ان تقوم باضافة قاعدة بيانات اخرى خاصة بكل رقم قمت بفسخه
من ثم البرنامج يعطيك الارقام التي قمت بفسخها لاعادة ادرجها لاحقا

هذا طرف الخيط حاول ومن ثم ساعطيك الطريقة
 
التعديل الأخير:

kelam

عضو مميز في منتدى الهندسة المدنية والمعمارية
إنضم
3 ديسمبر 2016
المشاركات
1.429
مستوى التفاعل
1.963
الاخ محمد يريد كود ياتي بعد الفسخ مباشرة يقوم باعادة ترتيب البيانات المتبقية
و هكذا يبقى كل واحد في مكانه و محافظا عليه
فيديو يشرح العملية

شرح للمشكلة و الحل
 

Ahmed Jendoubi

Developpeur Windev
طاقم الإدارة
إنضم
17 جوان 2013
المشاركات
3.411
مستوى التفاعل
6.145
الاخ محمد يريد كود ياتي بعد الفسخ مباشرة يقوم باعادة ترتيب البيانات المتبقية
و هكذا يبقى كل واحد في مكانه و محافظا عليه
فيديو يشرح العملية

شرح للمشكلة و الحل

ههه اين الطريقة اخ كلام
انت ادرجت فيديو يثبت عمل ما قمت به ولكنك لم تقدم شىرح لذلك
 
إنضم
14 أفريل 2016
المشاركات
595
مستوى التفاعل
263
بارك الله فيك اخي الحاج
لكن ليس هو المطلوب
تابع معي اخي
جهاز السكرتير مربوط بجهاز العرض نعم
عندنا 7 مرضى 1-2-3-4-5-6-7 نعم
كل واحد يعرف ويتابع رقمه
دخل الطبيب نادى على الرقم 1 بعد الفحص يحذف من قاعة الانتظار
تصبح الارقام2-3-4-5-6-7 نعم
دخل مريض جديد
عند الضغط على جديد يجب ان نعطيه الرقم 8
 
إنضم
14 أفريل 2016
المشاركات
595
مستوى التفاعل
263
انا احاول بهذا الكود
كود:
SI salle_d_attente..NouvelEnregistrement ALORS
    SAI_Heure_d_arrivée=HeureSys()
    HLitDernier(salle_d_attente,N_Dossier)
    SI HTrouve(salle_d_attente) ALORS
        SAI_N_Dossier=Val(salle_d_attente.N_Dossier)+1
    FIN
  
FIN
لكنه يغير المحدد ولا يضيف جديد
 
  • Love
التفاعلات: kelam

Ahmed Jendoubi

Developpeur Windev
طاقم الإدارة
إنضم
17 جوان 2013
المشاركات
3.411
مستوى التفاعل
6.145
تم حل مشكلتك
 

المرفقات

  • 1,5 MB المشاهدات: 56
  • Love
التفاعلات: kelam
إنضم
14 أفريل 2016
المشاركات
595
مستوى التفاعل
263
بارك الله فيك اخي احمد وجزاك الله كل خير
ساقوم بشرح الكود على فهمي واترك التعليق لكم


sshot-1.png
  1. البرنامج يعمل عادي إضافة أو تغير .
  2. الكود يبدا عمله من الحذف .فرضا عندنا 8 أشخاص في قاعدة الانتظار طبعا ترتيبهم 1-2-3-4-5-6-7-8 حذفنا رقم 1 يصبح الترتيب 2-3-4-5-6-7- 8
  3. هنا يدخل دور كودا الحذف
  4. كود:
     HSupprimeTout(numero)
    HLitDernier(salle_d_attente)
        numero.numero =salle_d_attente.N_Dossier
         HAjoute(numero)
  5. عند الضغط على زر الحذف يقوم
    • HSupprimeTout(numero) بحذف كل ما هو موجود في قاعدة numero التي استعملت فقط لتخزين اخر رقم في قاعدة salle_d_attente
  6. HLitDernier(salle_d_attente) دوره يبحث في
    • salle_d_attente وياخذ رقم اخر عنصر مسجلة
    • salle_d_attente ويحفظه في numero عن طريق الكود Hajoute

  7. sshot-2.png



  8. الكود رقم 7 نستعمله لاضافة شخص جديد كما يلي salle_d_attente..NouvelEnregistrement معناه اذا كان هنا ك تسجيل جديد افعل ما يلي
  9. SI HNbEnr(numero) =0 ALORS
    HLitDernier(salle_d_attente)
  10. SI HNbEnr(numero) معنها عدد التسجيلات المحفوظة في قاعدة numero =0 (اي لم نقم بحذف اي عنصر) اذهب الى قاعدة قاعدة الانتظار وحذ رقم اخر عنصر فيها واضف له +1 عن طريق الكود
  11. SAI_N_Dossier = Val(salle_d_attente.N_Dossier)+1
  12. ثم يعيد الحقل الى القيمة الافتراضية عن طريق HRAZ(salle_d_attente)
  13. ما سبق هو الجزء الاول من الكود
  14. نمر الى SINON من نفس الكود رقم 7
  15. معنها اذا انه توجد قيمة مسجلة في قاعدة numero
  16. حذه القيمة الموجود واعطها للحقل SAI_N_Doossier

هذا الذي فهمته من الكود والله اعلم


 
أعلى