تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
مساعدة في كود VBA لقاعدة بيانات إدارة مشاريع
#16
يمكنك كتابة هذه الأكواد في وحدة VBA في نموذج الأوردر، أو في وحدة VBA مستقلة في نفس قاعدة البيانات. لإضافة حقول إضافية في الأكواد، يجب استخدام اسم الحقل الصحيح وتضمينه في الاستعلامات SQL المستخدمة في الأكواد. يمكنك استخدام خانة AfterUpdate للزر المعين لتحديث قيم الحقول بعد تغييرها، ويمكنك استخدام خانة OnLoad لنموذج الأوردر لتحميل البيانات الأساسية المطلوبة وتعيينها في الحقول.
 
يمكنك إضافة الحقول الإضافية إلى جملة SQL التي تنشئ الأوردر في الخطوة الأولى من الكود. على سبيل المثال، يمكنك إضافة الحقل "CustomerName" باستخدام الكود التالي:
strSQL = "INSERT INTO Orders (CustomerName, OrderDate, TotalAmount, Status) VALUES ('" & CustomerName & "', #" & OrderDate & "#, " & TotalAmount & ", 'Pending')"
حيث أن "CustomerName" هو اسم الحقل في جدول الأوردر، ويتم استخدام الاقتباسات المزدوجة لتحديد القيمة التي يتم إدخالها في الحقل.
يمكنك القيام بنفس الطريقة لإضافة الحقول الأخرى إلى جملة SQL الخاصة بالأوردر. يجب أن يتم تغيير اسم الحقل ونوع القيمة وفقًا لتصميم جدول الأوردر الخاص بك.
 
1- لتحديد قسم المستخدم:

PHP كود :
Public Function GetUserDepartment(userID As Integer) As String
    
' تحديد القسم الذي يتبعه المستخدم المعين باستخدام معرف المستخدم
    Dim rs As New ADODB.Recordset
    rs.Open "SELECT Departments.DepartmentName FROM Departments INNER JOIN Users ON Departments.DepartmentID = Users.DepartmentID WHERE Users.UserID=" & userID, Your_Connection_String, adOpenStatic, adLockReadOnly
    
    If Not rs.EOF Then
        GetUserDepartment = rs.Fields(0).Value
    Else
        GetUserDepartment = ""
    End If
    rs.Close
End Function 


2- لإنشاء طلبية والموافقة أو الرفض من قبل الأدمن مع إبداء الأسباب:

PHP كود :
Public Sub CreateOrder(CustomerName As StringVillaNumber As IntegerDistrict As StringSupplier As StringAmount As DoubleReason As String)
 
   ' إنشاء طلبية جديدة في جدول الأوردرز
    Dim strSQL As String
    strSQL = "INSERT INTO Orders (CustomerName, VillaNumber, District, Supplier, Amount, Reason, Status) VALUES ('" & CustomerName & "', " & VillaNumber & ", '" & District & "', '" & Supplier & "', " & Amount & ", '" & Reason & "', '
Pending')"
    CurrentDb.Execute strSQL
End Sub

Public Sub ApproveOrder(OrderID As Integer, AdminName As String, Reason As String)
    ' 
تحديث حالة الأوردر إلى "معتمد" وإضافة اسم الأدمن المعمد والسبب
    Dim strSQL 
As String
    strSQL 
"UPDATE Orders SET Status='Approved', ApprovedBy='" AdminName "', ApprovalReason='" Reason "' WHERE OrderID=" OrderID
    CurrentDb
.Execute strSQL
End Sub

Public Sub RejectOrder(OrderID As IntegerAdminName As StringReason As String)
 
   ' تحديث حالة الأوردر إلى "مرفوض" وإضافة اسم الأدمن المرفوض والسبب
    Dim strSQL As String
    strSQL = "UPDATE Orders SET Status='
Rejected', RejectedBy='" & AdminName & "', RejectionReason='" & Reason & "' WHERE OrderID=" & OrderID
    CurrentDb.Execute strSQL
End Sub 


3- لتحويل الطلبية بين الأدمن للتعميد:

PHP كود :
Public Function TransferOrder(orderID As IntegernewAdminID As IntegertransferReason As String) As Boolean
    
' التحقق مما إذا كان المستخدم الحالي هو أدمن أم لا
    If Not IsAdmin(CurrentUser.UserID) Then
        MsgBox "Only admins can transfer orders."
        Exit Function
    End If
    
    ' 
التحقق مما إذا كانت الطلبية موجودة ولم يتم المواف 
الرد }}}
تم الشكر بواسطة:


الردود في هذا الموضوع
RE: مساعدة في كود VBA لقاعدة بيانات إدارة مشاريع - بواسطة sanyor77 - 30-03-23, 11:33 PM


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


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