![]() |
|
سؤال لو سمحتم احبتى فى الله - نسخة قابلة للطباعة +- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb) +-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182) +--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183) +--- الموضوع : سؤال لو سمحتم احبتى فى الله (/showthread.php?tid=51485) |
سؤال لو سمحتم احبتى فى الله - خالد كامل1 - 08-02-25 السلام عليكم
احبتى فى الله
لو عندى جدول فى اكسس قيه 4 حقول
1-رقم الكود(رقم)
2-حد استلام (عمله)
3-استلام (عمله)
4-تاريخ(تاريخ ووقت)
ما هو الكود لازم لحلب الفرق بين حد الاستلام والاستلام
وعندما يصبح الفرق بين حد الاستلام والاستلام صفر وقف عمليات الاستلام ويخرج رساله بان الاستلام وصل لحد الاستلام
وعند اول شهر جديد يجعل الاستلام صفر ويبدأ من جديد
ارجو من حضراتكم ان تكونوا استوعبتم سؤالى وعرفت ان اوصل الفكره والسؤال لكم
لكم منى اجمل تحيه وعرفان
RE: سؤال لو سمحتم احبتى فى الله - خالد كامل1 - 08-02-25 ارجو الرد احبتى بالله عليكم RE: سؤال لو سمحتم احبتى فى الله - princelovelorn - 08-02-25 وعليكم السلام ورحمة الله وبركاته رقم الكود = ID حد الأستلام = MAXRECEIVE الأستلام = RECEIVED التاريخ = DATE يمكنك استخدام الكود التالي: كود : Imports System.Data.OleDb**شرح الكود:** 1. **الاتصال بقاعدة البيانات:** يتم تحديد سلسلة الاتصال بقاعدة بيانات Access الخاصة بك. يجب عليك استبدال `"YourDatabaseName.accdb"` باسم ملف قاعدة البيانات الفعلي، وتأكد من أن لديك المكتبة المناسبة لـ OleDB مثبتة. 2. **استعلام SQL:** يتم تحديد استعلام SQL لاسترداد البيانات من الجدول الخاص بك. يجب عليك استبدال `"YourTableName"` باسم الجدول الفعلي. 3. **قراءة البيانات:** يقوم الكود بقراءة البيانات من قاعدة البيانات باستخدام `OleDbDataReader`. 4. **حساب الفرق:** يتم حساب الفرق بين `MAXRECEIVE` و `RECEIVED`. 5. **التحقق من الفرق:** إذا كان الفرق أقل من أو يساوي الصفر، يتم عرض رسالة تنبيه ويتم تنفيذ إجراءات إضافية (مثل تعطيل عناصر التحكم). 6. **إعادة تعيين `RECEIVED`:** في بداية كل شهر (اليوم = 1)، يتم تحديث قيمة `RECEIVED` إلى الصفر في قاعدة البيانات باستخدام الدالة `ResetReceived`. 7. **معالجة الأخطاء:** يتم استخدام `Try...Catch` للتعامل مع أي أخطاء قد تحدث أثناء تنفيذ الكود. **ملاحظات:** * تأكد من استبدال `"YourDatabaseName.accdb"` و `"YourTableName"` بالأسماء الفعلية لقاعدة البيانات والجدول الخاص بك. * يجب عليك إضافة `Imports System.Data.OleDb` في بداية الكود. * يمكنك تعديل الكود لتعطيل عناصر التحكم في واجهة المستخدم الخاصة بك حسب الحاجة. * يجب إضافة زر (Button1) على الفورم الخاص بك واستدعاء الدالة `ProcessData` عند النقر فوقه. * تأكد من تنسيق حقلي `MAXRECEIVE` و `RECEIVED` كعملة (Currency) في قاعدة بيانات Access[6]. يمكنك أيضاً تحويل أي رقم إلى عملة باستخدام الكود المناسب في VB.NET[4]. آمل أن يكون هذا الكود مفيدًا لك! ملاحظة الكود منقول مع التعديل عليه وليس من كتابتي بالكامل للأمانة RE: سؤال لو سمحتم احبتى فى الله - خالد كامل1 - 08-02-25 احسنت .؟ ولكنى اريد تعويض فى تلك الجزئيه If DateTime.Now.Day = 1 Then بالتاريخ المسجل فى قاعده البيانات RE: سؤال لو سمحتم احبتى فى الله - princelovelorn - 09-02-25 (08-02-25, 10:41 PM)خالد كامل1 كتب : احسنت .؟ ولكنى اريد تعويض فى تلك الجزئيه If DateTime.Now.Day = 1 Then بالتاريخ المسجل فى قاعده البيانات حضرتك الجزئية دي اللى طلبتها لأعادة تصفير الأستلام كل اول شهر وكل أول شهر معناه يوم 1 في الشهر او اي يوم ممكن تحدده حسب الرغبة بمجرد استبدال رقم 1 الى اي رقم من 1 الى 31 عدد ايام الشهر والتاريخ بيتم البحث عنه بتاريخ الجهاز وليس بتاريخ مسجل مسبقا في قاعدة البيانات ممكن أقدم لك لحضرتك دالة تجلب أي حقل تريده ولكن لا أعلم ماذا تريد بالظبط لأني الأن أفكر بأحتمالات كثيرة وأيضا اللى حضرتك طالبه الأن أعتقد شئ أخر فأعذرني إن لم أفهمك جيدا ارجو التوضيح أكثر حتى أستطيع تقديم المساعدة |