تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
مساعدة في كود VBA لقاعدة بيانات إدارة مشاريع
#1
عندي قاعدة بيانات تحت الإنشاء (غير مكتملة) وأريد كود VBA ليوثق ويحول العملية التالية

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

0. بعد دخول المستخدم يكون معروف لدى البرنامج أنه يتبع أي قسم

1. المستخدم ينشأ طلبية والأدمن من حقه الموافقة أو الرفض عليها مع إبداء الأسباب

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

3. بعد التعميد الأخير تذهب لقسم المالية لتحويل قيمة الطلبية وإشعار المستخدم المنشئ الأول للطلبية بأنه تم التحويل ويرفق له ملف التحويل البنكي

4. ملف التحويل البنكي يكون متاح فقط لقسم المالية

5. تتم هذه العمليات بين الأقسام بحيث أي تعديل في المنتصف يكون متبوع باسم المستخدم (موثقة باسم المستخدم سواء مستخدم عادي أو أدمن)

ولا أنسى الشكر والعرفان لأحد الأصدقاء على أحد المنتديات العربية بمساعدتي ولكن بحكم انشغاله لم تكتمل الفكرة

أريد المساعدة من فضلكم ولكم جزيل الشكر والعرفان

الطلبية في الفورم اللي اسمه Outgoing


الملفات المرفقة
.rar   Benalazm 27-3-2023.rar (الحجم : 160.02 ك ب / التحميلات : 5)
الرد }}}
تم الشكر بواسطة:
#2
من الواضح أنك ترغب في إنشاء قاعدة بيانات لإدارة عمليات الشركة. يمكنك استخدام VBA (Visual Basic for Applications) لتحقيق ذلك. سأقدم لك بعض الأفكار والشفرات البرمجية الأساسية لبناء هذا النظام.
أولاً، للتعامل مع الأقسام والمستخدمين والأدمن، يمكنك إنشاء جداول في قاعدة البيانات لحفظ هذه المعلومات. على سبيل المثال، يمكنك إنشاء جداول بالأسماء التالية: Departments, Users و Admins.
بالنسبة للطلبيات، يمكنك إنشاء جدول بالاسم Orders يحتوي على الحقول اللازمة مثل ID الطلب، المستخدم المنشئ، القسم، الحالة (مثلاً مقدمة، معتمدة، مرفوضة)، الأدمن الموافق أو المرفض، الأسباب وغيرها من الحقول الضرورية.
يمكنك بناء نموذج (Form) بالاسم Outgoing لإدخال وعرض تفاصيل الطلبيات. يمكن استخدام الأكواد البرمجية التالية كأساس لما تريد تحقيقه:
  1. قم بإنشاء دالة للتحقق من القسم الذي ينتمي إليه المستخدم:
 


PHP كود :
Function GetUserDepartment(ByVal userID As String) As String
    
' استعلم قاعدة البيانات للحصول على معلومات القسم
    ' 
يمكنك استخدام ADO أو DAO للتواصل مع قاعدة البيانات
End 
Function 



2. عند إنشاء طلبية جديدة:

PHP كود :
Sub CreateOrder()
 
   ' قم بإنشاء سجل جديد في جدول الطلبيات
    ' 
حدد الحالة كـ "مقدمة"
 
   ' قم بحفظ البيانات في قاعدة البيانات
End Sub 



3.عند تعميد الطلبية من قبل الأدمن:

PHP كود :
Sub ApproveOrder(ByVal orderID As StringByVal adminID As String)
 
   ' قم بتحديث حالة الطلبية إلى "معتمدة"
    ' 
قم بتعيين الأدمن الموافق وسبب الموافقة
    
' قم بحفظ التغييرات في قاعدة البيانات
End Sub 



4.عند رفض الطلبية من قبل الأدمن:

PHP كود :
Sub RejectOrder(ByVal orderID As StringByVal adminID As StringByVal rejectionReason As String)
 
   ' قم بتحديث حالة الطلبية إلى "مرفوضة"
    ' 
قم بتعيين الأدمن المرفض وسبب الرفض
    
' قم بحفظ التغييرات في قاعدة البيانات
End Sub 


5.عند تحويل الطلبية إلى قسم المالية:

PHP كود :
Sub TransferOrderToFinance(ByVal orderID As String)
 
   ' قم بتحديث حالة الطلبية إلى "قيد التحويل"
    ' 
قم بحفظ التغييرات في قاعدة البيانات
End Sub 


6.عند تأكيد التحويل البنكي من قبل قسم المالية:

PHP كود :
Sub ConfirmBankTransfer(ByVal orderID As StringByVal bankTransferFile As String)
 
   ' قم بتحديث حالة الطلبية إلى "تم التحويل"
    ' 
قم بإضافة ملف التحويل البنكي إلى قاعدة البيانات أو حفظ رابط الملف
    
' قم بحفظ التغييرات في قاعدة البيانات
End Sub 


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


بعد تطبيق هذه الوظائف، يمكنك استخدام الأزرار وعناصر التحكم الأخرى على النموذج (Form) لتنفيذها بناءً على إجراءات المستخدمين والأدمن. يمكنك أيضًا إضافة ميزات مثل تسجيل الدخول والتحقق من صلاحيات المستخدمين والأدمن لتأكيد أنهم يمكنهم الوصول فقط إلى الوظائف المناسبة لأدوارهم.
أيضاً، قد يكون من الجيد إضافة تسجيل التغييرات (Logging) لتتبع التعديلات على الطلبيات وتوثيقها. يمكنك إنشاء جدول جديد في قاعدة البيانات يسمى OrderHistory يحتوي على حقول مثل: ID الطلب، المستخدم، التاريخ والوقت، الإجراء (مثلاً إنشاء، تعديل، موافقة، رفض، تحويل) وتفاصيل الإجراء.
يمكنك إضافة دالة لتسجيل التغييرات مثل:
 
PHP كود :
Sub LogOrderChange(ByVal orderID As StringByVal userID As StringByVal action As StringByVal actionDetails As String)
 
   ' قم بإنشاء سجل جديد في جدول OrderHistory
    ' 
قم بإضافة تفاصيل التغييرات المطلوبة
    
' قم بحفظ التغييرات في قاعدة البيانات
End Sub 


ثم يمكن استدعاء هذه الدالة في جميع الوظائف الأخرى (مثل CreateOrder، ApproveOrder، RejectOrder، TransferOrderToFinance، ConfirmBankTransfer) لتوثيق جميع التغييرات التي تحدث على الطلبيات.

يُفضل أن تستخدم مكتبة مثل ADO أو DAO للاتصال بقاعدة البيانات وتنفيذ الاستعلامات. تأكد من إجراء الاختبارات المناسبة وتنظيم الشفرة البرمجية بشكل جيد لضمان الحصول على نظام قوي وموثوق.
 


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

  1. التأكد من تنظيم الشفرة البرمجية بشكل جيد وإعطاء تعليقات واضحة عند الحاجة لتسهيل الفهم والصيانة في المستقبل.
  2. إجراء التحقق من الإدخالات والتحقق من الصلاحيات في جميع مراحل العملية لتجنب إدخال بيانات غير صحيحة أو الوصول إلى المعلومات بشكل غير مصرح به.
  3. استخدام ميزات أمان VBA مثل تعطيل التنفيذ التلقائي للماكرو (Macro Auto Execution) وتمكين حماية المشروع بكلمة مرور للحيلولة دون الوصول إلى الشفرة البرمجية بسهولة.
  4. إجراء اختبارات مكثفة على النظام للتأكد من أنه يعمل بشكل صحيح وفقًا لمتطلبات العمل وتحديد الأخطاء وإصلاحها قبل تطبيقه على مستوى الشركة.
  5. توفير التدريب والدعم للمستخدمين والأدمن لضمان استخدام النظام بشكل صحيح وفعال.
باتباع هذه الإرشادات وتخصيص الشفرات البرمجية المقدمة حسب احتياجاتك، يجب أن تتمكن من إنشاء نظام قوي وموثوق لإدارة عمليات الطلبيات والتحويلات البنكية في شركتك. لا تتردد في طرح المزيد من الأسئلة إذا كنت بحاجة إلى مزيد من التوضيح أو المساعدة في تطبيق هذا النظام.
 
الرد }}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [سؤال] مساعدة في ربط جهاز البصمة بقاعدة بيانات access سعيد كنيمو 4 3,667 21-10-23, 04:52 PM
آخر رد: ُEzril3
  مساعدة في تصميم برنامج بيع جهاد 0 278 28-09-23, 04:42 PM
آخر رد: جهاد
  [Acces2010] طلب مساعدة ضروري من فضلكم في برنامج مخازن سامر محمود 0 327 20-08-23, 05:12 PM
آخر رد: سامر محمود
  بيانات الطلاب seddiki_adz 0 485 16-07-23, 11:22 PM
آخر رد: seddiki_adz
  [Acces2010] طلب مساعدة في برنامج يتضمن باركود Hassan.syria 0 356 18-06-23, 09:59 PM
آخر رد: Hassan.syria
Video فرز نموذج فرعي من خلال Listbox في قاعدة بيانات اكسيس ggtt17121985 0 597 16-06-23, 02:50 AM
آخر رد: ggtt17121985
  مساعدة في كود VBA لقاعدة بيانات إدارة مشاريع أحمد عامر 19 1,810 02-04-23, 08:50 PM
آخر رد: أحمد عامر
  [Acces2010] طلب مساعدة ضرورى جدا سامر محمود 0 380 02-03-23, 12:33 PM
آخر رد: سامر محمود
Information شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية elgokr 55 79,292 05-02-23, 03:21 PM
آخر رد: tighrmte
  [كود] رسالة خطا عند استبدال معلومات في قاغدة بيانات kamel1978 0 506 03-12-22, 08:25 PM
آخر رد: kamel1978

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم