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

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


إذهب إلى أفضل إجابة Solved by Shivan Rekany,

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

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

- الطلب الاول:  قيمة المربع الازرق تساوى Null  عندما تكون قيمة المربع الأحمر null
- الطلب الثانى:  قيمة المربع الازرق تساوى قيمة المربع الاخصر عندما تكون قيمة المربع الأحمر تساوى الرقم  0 
- الطلب الثالث:  قيمة المربع الازرق تساوى قيمة المربع الاخصر + قيمة المربع الاسود عندما تكون قيمة المربع الأحمراكبر من او  تساوى الرقم   1

11111.png.ea34eef07f08542a9b16f7fe519ce7f8.png

ملاحظة هامة اريد ان تتم العملية الحسابية عند تحديث الكمبوبوكس فى النموذج الرئيسى كما اريدها ان تتم عند تحديث مربع النص فى النموذج الفرعى  CSO  ,  وكذلك عند تحديث  مربع النص فى النموذج الفرعى  visitSeq

ملاحظة هامة جدا جدا جدا الحمد لله تم التوصل للنتيجة النطلوبه على النموذج الفرعى بعد تحديث قيم مربعات النص   CSO   ،  visitSeq
المطلوب فقط تعديل العملية الحسابية عن طريق التحديث من الكمبوبكس فى النموذج الرئيسي

 

qs-4.rar

رابط هذا التعليق
شارك

انا اسفه على الازعاج

ملاحظة هامة اخرى

المشكلة حدثت فى هذا الجزء من الكود على الكمبوبوكس

       If IsNull(Form_frm_WORKSCOPE.Visit_Seq) Or Form_frm_WORKSCOPE.Visit_Seq = "" Then rst!CSO = ""
        If Z = "0" Then rst!CSO = X
        If Z >= "1" Then rst!CSO = X + F
        
 
rst.Update
rst.Close: Set rst = Nothing

Me.frm_WORKSCOPE.Requery

هذا الجزء المسئول عن القيم المفروض ان تكون فى المربع الازرق فى الشكل المرفق
اما  الاكواد السابقه لهذا الكود هى لعمليات حسابيه اخرى وتعمل على اكمل وجه ولله الحمد

المطلوب التعديل على هذا الجزء فقط من الكود هذا ختى لا اشق عليكم

رابط هذا التعليق
شارك

  • أفضل إجابة

استخدم هذا 

Private Sub WorkScope_AfterUpdate()
    Dim rst As DAO.Recordset
    Dim D 'As Integer
    Dim X As Integer ' = Cycles
    Dim E ' = CSN
    Dim F ' = CSO
    Dim Z ' = VisitSeq
    Set rst = CurrentDb.OpenRecordset("Select * From qry_workscope_utility")
    rst.MoveLast: rst.MoveFirst
X = rst!Cycles
    rst.MoveNext
    D = rst!VisitNo
    E = rst!CSN
    F = rst!CSO
    Z = rst!VisitSeq
    rst.MovePrevious
        If D = "NA" Then
            Else
        If IsNull(Form_frm_WORKSCOPE.VisitNo) Then
            rst.Edit
            rst!VisitNo = D + 1
            rst.Update
            rst.Close: Set rst = Nothing
            Else
        End If
        End If
If E = "NA" Then
    Else
If IsNull(Form_frm_WORKSCOPE.CSN) Then
        rst.Edit
        rst!CSN = E + X
        rst.Update
        rst.Close: Set rst = Nothing
End If
End If
        If IsNull(Form_frm_WORKSCOPE.Visit_Seq) Or Form_frm_WORKSCOPE.Visit_Seq = "" Then
        rst.Edit
        rst!CSO = ""
        rst.Update
        rst.Close: Set rst = Nothing
        End If
        If Z = "0" Then
        rst.Edit
        rst!CSO = X
        rst.Update
        rst.Close: Set rst = Nothing
        End If
        If Z >= "1" Then
        rst.Edit
        rst!CSO = X + F
        rst.Update
        rst.Close: Set rst = Nothing
        End If
Me.frm_WORKSCOPE.Requery
End Sub

اليك مرفقك

 

qs-4.rar

  • Like 3
رابط هذا التعليق
شارك

18 ساعات مضت, Shivan Rekany said:

استخدم هذا 


Private Sub WorkScope_AfterUpdate()
    Dim rst As DAO.Recordset
    Dim D 'As Integer
    Dim X As Integer ' = Cycles
    Dim E ' = CSN
    Dim F ' = CSO
    Dim Z ' = VisitSeq
    Set rst = CurrentDb.OpenRecordset("Select * From qry_workscope_utility")
    rst.MoveLast: rst.MoveFirst
X = rst!Cycles
    rst.MoveNext
    D = rst!VisitNo
    E = rst!CSN
    F = rst!CSO
    Z = rst!VisitSeq
    rst.MovePrevious
        If D = "NA" Then
            Else
        If IsNull(Form_frm_WORKSCOPE.VisitNo) Then
            rst.Edit
            rst!VisitNo = D + 1
            rst.Update
            rst.Close: Set rst = Nothing
            Else
        End If
        End If
If E = "NA" Then
    Else
If IsNull(Form_frm_WORKSCOPE.CSN) Then
        rst.Edit
        rst!CSN = E + X
        rst.Update
        rst.Close: Set rst = Nothing
End If
End If
        If IsNull(Form_frm_WORKSCOPE.Visit_Seq) Or Form_frm_WORKSCOPE.Visit_Seq = "" Then
        rst.Edit
        rst!CSO = ""
        rst.Update
        rst.Close: Set rst = Nothing
        End If
        If Z = "0" Then
        rst.Edit
        rst!CSO = X
        rst.Update
        rst.Close: Set rst = Nothing
        End If
        If Z >= "1" Then
        rst.Edit
        rst!CSO = X + F
        rst.Update
        rst.Close: Set rst = Nothing
        End If
Me.frm_WORKSCOPE.Requery
End Sub

اليك مرفقك

 

qs-4.rar

رااااااااااااااااااااااااااااااااااااااااااااائع احتاج منى الى بعض التعديلات ولكن دونما هذا الكود الذى تفضلتم به لم اكن لاصل الى النتيجة المطلوبة
شكر الله لكم استاذ @Shivan Rekany
وشكر الله لكم استاذ @jjafferr

اعتذر للاثقال عليكم اعرف انى اثقلت عليكم جدا جدا جدا ولكن كنت بحاجة الى الحل ضرورى قدر ما اثقلت عليكم

كل الشكر والتقدير لمبرمجى المنتدى العظماء

تم تعديل بواسطه عبق الرياحيين
رابط هذا التعليق
شارك

30 دقائق مضت, عبق الرياحيين said:

هذا الكود الذى تفضلتم به لم اكن لاصل الى النتيجة المطلوبة

هل وصلت للمطلوب ام بعد ؟
واذا لا ما تريد بالضبط ؟ توضح لنا المطلوب

  • Like 1
رابط هذا التعليق
شارك

الان, Shivan Rekany said:

هل وصلت للمطلوب ام بعد ؟
واذا لا ما تريد بالضبط ؟ توضح لنا المطلوب

جزاكم الله حيرا

انا وصلت الحمد لله للنتيجة المطلوبة شكرا جزيلا انا متشكرة لحضرتك

رابط هذا التعليق
شارك

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