اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

متقاعد

الخبراء
  • Posts

    583
  • تاريخ الانضمام

  • تاريخ اخر زياره

  • Days Won

    25

كل منشورات العضو متقاعد

  1. مشاركة رائعة اخي د.حسين لدي ملاحظة صغيرة عند تنفيذ الكود في حقل بداية اول دفعه يزيد شهرين على التاريخ المحدد والسبب في الاتي For i = 1 To CountAmunt اي ان الحلقة تبدأ من رقم 1 الى اخر عدد في حقل مجموع الدفعات ثم في حقل التاريخ وضعت الامر rs.Fields(2).Value = DateAdd("m", i + 1, SetStartDate) اي ان الزيادة تكون برقم واحد + 1 على التاريخ فاذا كان تاريخ اول دفعة محدد في 25-07-2022 سيكون التاريخ 25-09-2022 انظر الصور المرفقة لذا يمكن التغلب على المشكلة بتعديل بداية الحلقة لتكون من رقم 0 For i = 0 To CountAmunt - 1 وفي حقل التاريخ rs.Fields(2).Value = DateAdd("m", i, SetStartDate) وايضا يمكن ان ندع بداية الحلقة كما هي For i = 1 To CountAmunt والتاريخ يكون rs.Fields(2).Value = DateAdd("m", i - 1, SetStartDate) تحياتي وتقديري واعتذر مقدما عن اي ازعاج
  2. في مثل هذه الحالات نعمل استعلام للجدولين ثم نربط حقل الضامن في الجدولين ونجعل الصلة كما في الصورة المرفقة بالنسبة للبحث اجعل الاستعلام ☝️مصدر لسجلات النموذج وفي معايير الاستعلام ضع التعبير التالي ⬇️ تحت اسم الضامن Like "*" & [Forms]![frm1]![c_list] & "*" مع ملاحظة تغيير اسم النموذج واسم القائمة وفقا للتسميات لديك اخيرا الافضل عندما ترفق مثال ان يحتوي على بعض البيانات فيكون الامر اسهل لمن يرغب بالمساعدة تحياتي
  3. هدية جميلة ولك الشكر والتقدير لدي بعض الملاحظات البسيطة تجعل العمل افضل واسهل من وجهة نظر مبرمج متقاعد ادخال الاقساط في النموذج الفرعي امر مرهق وغير عملي ويمكن عمل كود يتولى المهمة ولكن يتطلب منا اضافة ثلاثة حقول ليعمل الكود حقل بداية السداد نوعه تاريخ وحقل المدة رقمي نحدد فيه عدد الاشهر خلال مدة القرض واخيرا حقل مبلغ القسط ايضا رقمي مزدوج ليقبل الكسور ثم نعمل حلقة دوارة تقوم باضافة السجلات بدلا من اغلاق النموذج واعادة فتحه لمشاهدة التغيير في حقول المبلغ المدفوع والمتبقي عند اختيار خانه تم الدفع يمكن وضع الامر ⬇️ Me.Parent.Recalc في شرحك عند تقسيم المبلغ على عدد الاشهر تجاوزت الكسر العشري وهذا سوف يسبب خطا في الاجمالي وبدلا من ذلك يمكن استخدام الدالة int وهي تسمح لنا بذلك ثم نقوم بحساب المتبقي من القسمة بدالة mod والافضل من ذلك ان نقوم بعمل كود يقوم بحساب المتبقي بدون mod واضافتة على القسط الاول او الاخير وبشكل الى من خلال الكود الذي اشرنا اليه في الفقرة الاولى اخير اضافة ثلاث نماذج فرعية في الرئيسي بشكل مخفي لغرض الحصول على قيمة بعض الحقول امر غير عملي ويمكن بدلا من ذلك استخدام دالة dsum وبالشروط التي تحقق لنا الحصول على القيمة المطلوبة لكل حقل وحينها نسنغني عن ثلاث نماذج وثلاث استعلامات اخيرا هي وجهة نظر غير ملزمة وليس الهدف منها النقد وانما زكاة العلم نشره تحياتي وتقديري
  4. سؤال نظري واجابته من نفس النوع الكمبوبوكس له في العادة ثلاث مصادر للبيانات جدول او استعلام قائمة القيم مثال : "خالد";"محمد";"احمد" قائمة الحقول "اسم الحقول" وفي اغلب الحالات يكون المصدر استعلام يحتوي اكثر من قيمة SELECT tblAhdaf.hdfID, tblAhdaf.alhadf FROM tblAhdaf; هنا في عبارة الاستعلام ☝️لدينا حقلين اثنين الحقل الاول رقم الهدف وهو يمثل يمثل العمود رقم صفر الحقل الثاني الهدف ويمثل العمود 1 وهكذا لو كان لوكان لدينا كمبو يحتوي على خمس اعمدة يكون ترتيبها 0 - 1 - 2 - 3 - 4 فاذا كان كتبنا الامر tx2 = Me.c_list او tx2 = Me.c_list.Column(0) فاننا نحصل على رقم الهدف وللحصول على اسم الهدف نكتب الامر tx2 = Me.c_list.Column(1) اما حقول التكست بوكس في تحتوي على قيمة واحدة وبالتالي نحصل على قيمتها بشكل صحيح بدون الحاجة الي تحديد رقم العمود تحياتي
  5. وعليكم السلام اخي يونس الشكر لله سبحانه مع تمنياتي لك بالتوفيق 🌹
  6. انظر للصورة اخر رقم لديك كان 999 ثم اضفت سجل اصبح 1000 في السجل قمت بتغيير الرقم الى 2 واصبح السجل التالي 3 ثم غيرت الى 50 واصبح التالي 51 اي انا سجلت 5 سجلات وكل شي تمام
  7. وعليكم السلام والله لا اعلم يا استاذ يونس انا جربت الملف الذي قمت بارفاقة ☝️ ولم اجد اي مشكلة كل شي يعمل اذا تركنا الرقم فارغ وسجل الاسم يستمر في التسلسل بزيادة واحد على اخر رقم والقيمة الافتراضية حسب اخر سجل واذا غيرنا الرقم يكون السجل التالي بزيادة واحد على اخر رقم غيرنا وكذلك للقيمة الافتراضية لذا قد نجد تجربة من احد الزملاء فربما انا لم افهم المطلوب وبكل صراحة انا فهمي لك عليه تحياتي وتقديري لاخي الفاضل
  8. فعلا كلامك صحيح نسيت الغي استدعاء الامر 🌹 اللَّهُمَّ، اغْفِرْ له وَارْحَمْهُ، وَاعْفُ عنْه وَعَافِهِ، وَأَكْرِمْ نُزُلَهُ، وَوَسِّعْ مُدْخَلَهُ، وَاغْسِلْهُ بمَاءٍ وَثَلْجٍ وَبَرَدٍ، وَنَقِّهِ مِنَ الخَطَايَا كما يُنَقَّى الثَّوْبُ الأبْيَضُ مِنَ الدَّنَسِ
  9. ستة جداول في نموذج واحد امر غير مألوف بالنسبة لي ربما نحتاج لبعض البيانات من هذه الجداول ولكن نستخدم مربعات التحرير والسرد للحصول على قيمة حقل او اكثر او نستخدم بعض الدوال على كل حال مراقب بصمت لعل احد الخبراء او الاساتذة يشرح كيف يتم ذلك فهذا امر جديد بالنسبة لي وارغب في التعلم واكتساب الخبرة تحياتي وتقديري وبالتوفيق باذن الله
  10. وعليكم السلام لو وضعت مثال قاعدة تحتوي على الجداول وقليل من البيانات لكان الامر اكثر وضوح وربما تجد اكثر من طريقة للمطلوب
  11. الشكر لله اخي احمد ثم لكم على جهودكم لخدمة فئة عزيزة علينا من ذوي الاحتياجات الخاصة اسأل الله لكم التوفيق والسداد ولاحبائنا الصغار الشفاء العاجل وان نراهم اعضاء فاعلين في مجتمعهم تحياتي وتقديري
  12. ويمينك اخي واستاذي الكريم يونس 🌹
  13. زر امر و اخر العلاج الكي في هذا النوع من العلاقات لابد ان نحصل على سجل في الرئيسي قبل الفرعي والا فسوف نحصل على رسالة خطا جرب المرفق 1.accdb
  14. عملت لك نموذج الاختيار الاهداف في نموذج اختيار الخطة وضعت زر امر يفتح النموذج المساند للاختيار المتعدد وبالتالي يمكن اختيار اكثر من هدف كل مرة ويمكنك الاستمرار على الطريقة السابقة اي انه يمكن اضافة هدف كل مرة او مجموعة من الاهداف الاهداف بلون مختلف في النموذج الجديد تعني انها موجود مسبقا لدى الطفل فلا يتم اضافتها مره اخرى حتى لا يحصل تكرار صحيح ممكن منع التكرار او منع ظهور هذة الاهداف ضمن النموذج ولكن ليس لدي وقت ولا طولة البال تحياتي برنامج اعداد الخطط لمركز السلام(3).accdb
  15. وعليكم السلام اخي يونس فعلا شاهدت المشكلة واعتقد ان السبب الفهرسه لكون الجدول لا يحتوي على حقل مفهرس يضبط ترتيب السجلات جرب الان وضعت حقل ترقيم تلقائي في الجدول وليس له دور في النموذج الملف مرفق تحياتي مبرمج سابق.accdb
  16. تم اضافة قائمة للشهر حسب العام تم اضافة معيار الشهر مع المعيار السابق تم تغيير طريقة المعيار باستخدام like مع * ليمكن البحث بالجهد او الشهر او الاثنين معا او بدون الاثنين لاضافة كل السجلات مع ذلك لو انني مبرمج فسوف اقترح عليك الاتي استخدام جدول sd كحاوية للبيانات فقط نعمل قائمة منسدلة بالشهر والعام نجعل شرط الاضافة من خلال هذة القائمة فقط مثلا شهر ثمانية لدينا سجلين فقط للجهد احداهما 500 والاخرى 400 وكذلك الحال لكل شهر قيمته نجعل التعامل مع جدول sd من خلال الاستعلام فنستطيع استخلاص بيانات شهر محدد وايضا قيمة محدد او كل القيم او الرجوع لاشهر سابقة يدون الحاجة لتنفيذ الكود كل مره ولكن لو حرف امتناع لامتناع فانت لم تطلب ولا انا مبرمج تحياتي والملف مرفق Database5112.accdb
  17. الحمد لله اخي والشكر لله وحده نعم ممكن سواء من خلال مربع اختيار او من خلال قائمة متعددة او من خلال بقاء الامر على ماهو عليه وعند النقر المزود على المهارة يفتح لنا نموذج مساند يسمح باختيار متعدد ولكن نظام الموقع وقواعد المشاركة طلب واحد في الموضوع وهذا التعديل خارج نطاق الموضوع الاصلي 11. ممنوع طرح أكثر من سؤال في موضوع واحد ليسهل البحث عن المواضيع لاحقا. لذا فان كان الطلب الاصلي قد تحقق فيتم اختيار الاجابة الافضل من قبلكم ليعتبر الموضوع الحالي قد انتهى وبامكانك اخي انشاء موضوع جديد توضح فيه المطلوب وباذن الله تجد المساندة مني ان سمح لي الوقت او من احد الاساتذه الاخرين في الموقع تحياتي وتقديري
  18. جميعنا نتعلم من بعض نخطئ ونصيب ونساعد بعضنا بقدر ما نقدر تحياتي لك ولكل من شارك بالموضوع
  19. ولك بالمثل استاذي واخي يونس الان في ردي السابق تحدثت عن طرق اخرى للوصول للنتيجة (تحميل قيمة او مجموعة من القيم ونقلها الى سجل جديد ) بدون الحاجة لاستخدام دوال المجال الحقيقة هناك ثلاث طرق عن طريق معالجات الاكسس ولكنها طريقة غير عمليه لكونها تحدد كافة حقول السجل وتكررها في سجل جديد اي انها تحدد السجل كاملا ثم تنسخة وتنتقل لسجل جديد ثم تقوم بلصق القيمة في الحقول ويمكن عملها بالمايكروا وايضا بالكود . عن طريق متغيير متعدد القيمة ويتم في المتغير تحديد الحقول التي نرغب في تحميل قيمتها على شكل سطر نصي نفصل قيمة كل حقل عن الاخرى برمز نحدده عند كتابة الكود ثم ينقلنا الامر الى سجل جديد ويقوم بتقسيم القيمة بدلالة الرمز مثال x=([id]&"|"&[item]&"|"&[price]) الطريقة الثالثة من خلال مصفوفة بسيطة والفكرة ان نفتح مصدر السجلات (الجدول) ثم نضع اسماء الحقول المطلوبة داخل المصفوفة بدون الحاجة لرمز فاصل ولا داعي لاستخدام دالة Split لكون المصفوفة تحمل القيمة بالترتيب مثلا لوحملنا اربع حقول يكون الحقل الاول رقم 0 والثاني رقم 1 والثالث رقم 2 والرابع رقم 3 x = Array(rs![id], rs![jop], rs![nat], rs![city]) ولعلي اضع مثال بسيط بعون الله لكون الامر وان كان ليس بتلك الاهمية الا انه يسهل العمل على مدخل البيانات العمل مع النماذج التي تحتوي بعض حقولها على بيانات متكررة مثل برامج الموظفين وبرامج المدارس ... الخ تحياتي ولعل لنا لقاء في موضوع اخر باذن الله
  20. في زر الامر تقرير استبدل الامر المكتوب بالامر التالي DoCmd.OpenReport "DemandeCertificatePresence", acViewPreview, , "[nomprenom]='" & [nomprenom] & "'"
  21. استكمال للرد السابق ولكن في البداية نقدم احلى تحية لاستاذنا @ابو جودي وننتهز الفرصة ونقول له كل عام وانتم بخير الان نعود للموضوع دوال تجميع المجال او مايسميها بعض المختصين دوال D تتشابه في طريقة كتابتها ولها ثلاث معلمات المعلمة الاولى الحقل * الذي نبحث فيه عن القيمة وقد يكون الحقل في جدول او استعلام المعلمة الثانية المجال وهو تعبير نصي يمثل اسم الجدول او اسم الاستعلام المعلمة الثالثة المعيار وهو اختيار وقد يكون معيار واحد او اكثر وقد يكون نصي او رقمي او منطقي بعض هذة الدوال يمكنها التعامل مع اكثر من حقل لذا في مثل هذه الحالة لدينا حقل الرقم وحقل اللون وقد يكون لدينا حقول اخرى مثلا الموديل او الجهة المصنعة ... الخ فيكون السؤال هل نقوم بتكرار كتابة الدالة بعدد الحقول المطلوبة ونحن نعلم ان تشغيل الدالة كل مره يمثل عملية استعلام ؟ الاجابة لا نحتاج الى ذلك فبعض هذه الدوال كما اشرنا تتعامل مع اكثر من حقل فيكون الامر على النحو التالي Dim x() As String a = DLast("[m]&'|'&[k]&'|'&[r]", "GTTT") x = Split(a, "|") M = x(0) + 1 k = x(1) R = x(2) M = اخر رقم تم تسجيله + 1 K = اخر قيمة مسجلة في حقل الشركة المصنعة R = اخر قيمة مسجلة في حقل اللون السؤال الاخير هل يمكن تحقيق النتيجة بدون استخدام DLast ؟ نعم ممكن توجد اكثر من طريقة منها استخدام مصفوفة من خلال مصدر السجلات وسوف اتوقف هنا فالاستطراد قد يشتت الفكرة قالت العرب : يكفيك من الزاد ما بلغك المحل تحياتي وتقديري
  22. وعليكم السلام اخي يونس الشكر لله اخي بالتوفيق لك اخي يونس واسال الله لنا ولك بالتوفيق والسداد
  23. اولا جزاك الله خير اخي يونس الكود الذي اشرتم اليه على النحو التالي Me.M = DLast("M", "GTTT", (DCount("*", "GTTT") Mod 50)) + 1 Me.R = DLast("R", "GTTT", (DCount("*", "GTTT") Mod 50)) وتفسيره بالنسبة لي ان حقل الترقيم يساوي اخر رقم موجود في الجدول ثم استخدم دالة عد السجلات في نفس الجدول واستخدم دالة القسمة على 50 ثم +1 والحقيقة بالنسبة لي الامر غير مفهوم لان استخدام دالتي العد والقسمة لا دور لها هنا وحتى بعد استبعادهما لم يتاثر الترقيم لان الامر اخر رقم +1 مع العلم ان دالة dlast تعيد اخر رقم وليس اكبر رقم وهذا الامر سوف يسبب وجود ارقام مكررة طالما اننا تركنا الامر لمدخل البيانات الامر الثاني ايضا في السطر التالية حقل r الخاصة بالقيمة الافتراضية استخدمت dlast للحصول على اخر قيمة للحقل والسؤال ماهو دور دالتي dcount & mod الامر يمثل استفسار وليس الهدف منه النقد تحياتي
×
×
  • اضف...

Important Information