اذهب الي المحتوي
أوفيسنا

الردود الموصى بها

قام بنشر

السلام عليكم ورحمة الله وبركاته

لدي جدول لحساب العمليات المنجزة مع اسماء الاشخاص الدين قامو بها

هناك عمليات يقوم بها موظف واحد وعمليات اخرى يقوم بها موظفين 

مثال 

ali قام بالعملية الاولى

وقام بعملية احرى مع موظف اخر 

ali-moiuhamed مثال

يعني علي قام بعمليتين ومحمد قام بعملية واحدة اريد طريقة تمكنني من خساب عمليات اي موظف بغض التظر مع من قام بها لوحده او مع موظف اخر 

للعلم عندما يقوم شخصين بالعملية الاسمين يكتبان في حقل واحد مثل ماهو موضح في المرفق

 

 

 

op.accdb

قام بنشر
في ٢٦‏/٤‏/٢٠٢١ at 15:20, AliAli47 said:

السلام عليكم ورحمة الله وبركاته

لدي جدول لحساب العمليات المنجزة مع اسماء الاشخاص الدين قامو بها

هناك عمليات يقوم بها موظف واحد وعمليات اخرى يقوم بها موظفين 

مثال 

ali قام بالعملية الاولى

وقام بعملية احرى مع موظف اخر 

ali-moiuhamed مثال

يعني علي قام بعمليتين ومحمد قام بعملية واحدة اريد طريقة تمكنني من خساب عمليات اي موظف بغض التظر مع من قام بها لوحده او مع موظف اخر 

للعلم عندما يقوم شخصين بالعملية الاسمين يكتبان في حقل واحد مثل ماهو موضح في المرفق

هل هناك جدول اخر لاسماء الموظفين غير هذا الجدول ؟؟؟؟ ممكن تزودنا به

  • Like 3
قام بنشر

مشاركة متواضعة مني

عن طريق عدد 2 استعلام

الاستعلام الاول نقوم بتقسيم حقل الاسم الى عمودين باستخدام دالة عمنا العود @ابوخليل جزاه الله خير

Public Function qsplit(NName As String, i As Integer)
On Error Resume Next
qsplit = Split(NName, "-")(i)
End Function

الاستعلام الثاني استعلام توحيدي ومصدره الاستعلام الاول لغرض توحيد حقلي الاسم ثم نضع شرط في الاستعلام لحذف الصفوف الخالية

والنتيجة في المرفق

ملاحظة

  • يمكن الاستغناء عن الاستعلام الاول وعمل استعلام التوحيد مباشرة من الجدول مع استخدام الدالة والمعايير ولكن سوف يكون صعب على غير المختصين
  • هذا الحل البسيط يعتمد على فهمي للموضوع وربما لم افهم المطلوب بشكل صحيح

 

op.accdb

  • Like 3
قام بنشر

وهذه طريقة اخرى مشاركة مع استاذي الفاضل @kha9009lid

وهي عن طريق انشاء جدول وفرز عمليات كل الموظفين من الجدول المعطى  ثم عرضها عن طريق استعلام تجميع ميزة هذه الطريقة انها لا تتقيد بعدد الموظفين الذين يشتركون في العملية ( يعنى ممكن مشاركة العملية عدد لا حصر له من الموظفي ... اثنين أو 100 )

وهذا هو الكود المستخدم

DoCmd.SetWarnings False
DoCmd.RunSQL "DELETE * FROM Table3"
DoCmd.SetWarnings True

    Dim rstS As DAO.Recordset
    Dim rstD As DAO.Recordset
    Dim x() As String
    Dim i As Long
    
    Set rstS = CurrentDb.OpenRecordset("Select * From [Table1]")
    Set rstD = CurrentDb.OpenRecordset("Select * From Table3")

    DoCmd.Hourglass True
    Do While Not rstS.EOF
            
        x = Split(rstS![الاسم], "-")
        For i = LBound(x) To UBound(x)
            
            rstD.AddNew
            
                rstD!عدد_العمليات = rstS![عدد_العمليات]
                rstD!الاسم = Trim(x(i))

            rstD.Update
        Next i

        rstS.MoveNext
    Loop
    rstS.Close: Set rstS = Nothing
    rstD.Close: Set rstD = Nothing
    DoCmd.Hourglass False
Me.Requery
    Exit Sub

 

1.png

op.accdb

  • Like 2
  • Thanks 1
قام بنشر (معدل)

جزاكم الله خيرا اخووانى واساتذتى 💐

ومشاركه مع اخوانى واساتذتى حاجه ع قد حالى

وتاكيدا على وجود جدول خاص بالاسماء قمت بانشاء جدول خاص بالاسماء ولبيان السبب انظر الاستعلام رقم 1 هتلاقى عندك 4 اسماء والاستعلام الثانى 5

SELECT tblNames.Sname, DSum("[عدد العمليات]","Table1","[الاسم] Like '*" & [Sname] & "*'") AS Expr1
FROM tblNames;

دى صوره الاستعلام الاول

image.png.1325ea1bcebbb85f0ffcb402db4f6f27.png

ودى صورة الاستعلام الثانى

image.png.51265ede23012efa9a756421b3a20941.png

جزاكم الله خيرا اخوانى واساتذتى

بالتوفيق

op_1.accdb

تم تعديل بواسطه احمد الفلاحجي
  • Like 1

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information