أبو عبدالله الحلوانى قام بنشر نوفمبر 17, 2018 قام بنشر نوفمبر 17, 2018 (معدل) السلام عليكم ورحمة الله وبركاته الفكرة كما بعنوان الموضوع أحتاج للمرور على سجلات الجدول كلها لمقارنة فترة بتاريخ محدد الاشكالية الآن معى فى امكانية طرح السجل السابق والذى تم المرور عليه قريبا من السجل الحالى داخل الدوارة مثال: البيانات بالسجل هى: (والتى سنقارنها بتاريخ اليوم مثلا) 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 تم تعديل نوفمبر 17, 2018 بواسطه أبو عبدالله الحلوانى
jjafferr قام بنشر نوفمبر 17, 2018 قام بنشر نوفمبر 17, 2018 وعليكم السلام سؤالك غير واضح يا باشه 🙂 اعطنا مثال عن: الرقم الحالي ، وكيف تريده ان يكون ، واذا هناك شرط في الموضوع 🙂 جعفر
أبو عبدالله الحلوانى قام بنشر نوفمبر 17, 2018 الكاتب قام بنشر نوفمبر 17, 2018 (معدل) آسف لعدم وضوح السؤال المرفق به توضيح أرجو الاطلاع على الشرح داخل المدل وعلى الفورم ملاحظة: المدل تم تعديله عن المتكوب بأول مشاركة TestLoop.rar تم تعديل نوفمبر 17, 2018 بواسطه أبو عبدالله الحلوانى
أبو عبدالله الحلوانى قام بنشر نوفمبر 18, 2018 الكاتب قام بنشر نوفمبر 18, 2018 السلام عليكم الحمد لله تم التوصل للحل كما موضح بالمرفق ولكن المشكلة الآن أنه عند تمرير البيانات للموديل تخرج صحيحة بالمرة الأولى فقط ثم تخرج النتائج غير صحيحة مع كل مرة تالية أين المشكلة رغم حذفى لبيانات المتغيرات فى بداية المدل TestLoop.rar
jjafferr قام بنشر نوفمبر 20, 2018 قام بنشر نوفمبر 20, 2018 وعليكم السلام 🙂 لم ادخل في صميم البرمجة بعد ، ولكن قولك لفت انتباهي: في ١٩/١١/٢٠١٨ 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 جعفر 1 1
رمهان قام بنشر نوفمبر 20, 2018 قام بنشر نوفمبر 20, 2018 اخي ابو عبدالله ملفات الضغط لم تفتح معي اذا ممكن ضغطه بالويندوز عايدي او ملف الاكسس مباشرة هذا ان بقي الطلب موجود بعد مشاركة اخي جعفر تحياتي 1
أبو عبدالله الحلوانى قام بنشر نوفمبر 20, 2018 الكاتب قام بنشر نوفمبر 20, 2018 3 ساعات مضت, jjafferr said: SumMnss = 0: mnss = 0 جزاك الله خيرا أساذنا قد نسيت تصفير هذه المتغيرات وهى السبب فعلا فى حدوث المشكلة بارك الله لنا فيكم وفى علمكم ونفع الله بكم وجزاكم عنا خيرا
أبو عبدالله الحلوانى قام بنشر نوفمبر 20, 2018 الكاتب قام بنشر نوفمبر 20, 2018 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.