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

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

قام بنشر (معدل)

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

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

الاشكالية الآن معى فى امكانية طرح السجل السابق والذى تم المرور عليه قريبا من السجل الحالى داخل الدوارة 

مثال:

البيانات بالسجل هى: (والتى سنقارنها بتاريخ اليوم مثلا)

1- 13/5/2015

2- 25/6/2016

3- 1/7/2018

مهمة الدوارة الآن هى مقارنة تاريخ اليوم بكل تاريخ من سجلات التاريخ مع طرح قيمة المقارنة الحالية من قيمة المقارنة السابقة 

هل من فكرة للمساعدة وجزاكم الله خيرا

دا الموديل اللى بحاول انشاءه وبحاجة للعديل 

Public Function Clcisthlk(EndToreedDate As Date) As Double
Set sql = CurrentDb.OpenRecordset("EsthlakPricesTbl", dbOpenDynaset)
sql.MoveLast: sql.MoveFirst
    Do Until sql.EOF
        If sql!UntlMnth = Null Then
        enddt = DateSerial(Year(Date), Month(Date) + 1, 0)
        pris = sql!Price
        srf = sql!srf
        Else
        enddt = sql!UntlMnth
        pris = sql!Price
        srf = sql!srf
        End If
'
        If EndToreedDate < enddt Then                             
        mnss = DateDiff("m", EndToreedDate, enddt) -mnss
        Clcisthlk  = (mnss * pris)

End Function

 

 

 

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

وعليكم السلام

 

سؤالك غير واضح يا باشه 🙂

اعطنا مثال عن: الرقم الحالي ، وكيف تريده ان يكون ، واذا هناك شرط في الموضوع 🙂

 

جعفر

قام بنشر (معدل)

آسف لعدم وضوح السؤال 

المرفق به توضيح  أرجو الاطلاع على الشرح داخل المدل 

وعلى الفورم

ملاحظة: المدل تم تعديله عن المتكوب بأول مشاركة 

TestLoop.rar

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

السلام عليكم 

الحمد لله تم التوصل للحل كما موضح بالمرفق

ولكن المشكلة الآن أنه عند تمرير البيانات للموديل تخرج صحيحة بالمرة الأولى فقط  ثم تخرج النتائج غير صحيحة مع كل مرة تالية أين المشكلة رغم حذفى لبيانات المتغيرات فى بداية المدل

 

 

TestLoop.rar

قام بنشر

وعليكم السلام 🙂

 

لم ادخل في صميم البرمجة بعد ، ولكن قولك لفت انتباهي:

في ١٩‏/١١‏/٢٠١٨ at 01:36, أبو عبدالله الحلوانى said:

ولكن المشكلة الآن أنه عند تمرير البيانات للموديل تخرج صحيحة بالمرة الأولى فقط 

ثم تخرج النتائج غير صحيحة مع كل مرة تالية

أين المشكلة

رغم حذفى لبيانات المتغيرات فى بداية المدل

 

هذا صحيح ، ولكن بسبب انك وضعت تعريف المتغيرات في قمة الوحدة النمطية ، وخارج المودل ، فهذا معناه ان البيانات لا تزال تكون مخزنه فيه ،

ولحل هذا :

احذفهم من هناك واجعلهم داخل المودل ، او اجعل المتغير = 0 في المودل ،

وهذا حل الموضوع ، مع تعديل آخر بسيط:

Public Function Clcisthlk(EndToreedDate As Date, srfSt As Integer) As Double

    Set sql = CurrentDb.OpenRecordset("EsthlakPricesTbl", dbOpenDynaset)
    sql.MoveLast: sql.MoveFirst
'
    pris = 0: srf = 0
    Sumwtr = 0: SumSrf = 0: SumMnss = 0: mnss = 0: descrSrf = ""
    descr = ""
'
    Do Until sql.EOF
        If IsNull(sql!UntlMnth) Then
            enddt = DateSerial(Year(Date), Month(Date) + 1, 0)
            pris = sql!Price
            srf = sql!srfm
        Else
            enddt = sql!UntlMnth
            pris = sql!Price
            srf = sql!srfm
        End If
'
        If EndToreedDate <= enddt Then
            SumMnss = SumMnss + mnss
            mnss = DateDiff("m", EndToreedDate, enddt) - SumMnss
            Sumwtr = Sumwtr + (mnss * pris)
        
            If srfSt = 1 Then
                SumSrf = SumSrf + (mnss * srf)
            Else
                SumSrf = 0
            End If
         
            descr = descr & "monhs= " & mnss & " * pris= " & pris & " = " & (mnss * pris) & vbCrLf
            descrSrf = descrSrf & "SRf= " & srf & " * " & "Monthes= " & mnss & "= " & (mnss * srf) & vbCrLf
        End If

'Debug.Print "1>> " & vbCrLf & descr
'Debug.Print
        
        sql.MoveNext
    Loop
Clcisthlk = Sumwtr + SumSrf
'
Debug.Print descr
Debug.Print descrSrf
'
sql.Close
Set sql = Nothing
End Function

 

جعفر

  • Thanks 1
  • Haha 1
قام بنشر

اخي ابو عبدالله 

ملفات الضغط لم تفتح معي

اذا ممكن ضغطه بالويندوز عايدي او ملف الاكسس مباشرة

هذا ان بقي الطلب موجود بعد مشاركة اخي جعفر 

تحياتي

  • Thanks 1
قام بنشر
3 ساعات مضت, jjafferr said:

SumMnss = 0: mnss = 0

جزاك الله خيرا أساذنا 

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

بارك الله لنا فيكم وفى علمكم ونفع الله بكم وجزاكم عنا خيرا

قام بنشر
11 دقائق مضت, رمهان said:

اخي ابو عبدالله 

ملفات الضغط لم تفتح معي

شرفنى مرور حضرتك بالموضوع انا اسخدم ونرار 5.01 فى الضغط يبدو أنك بحاجة لنسخة أحدث من برنامج فك الضغط

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

 

TestLoop.accdb

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