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

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

قام بنشر

السادة الخبراء

فى نموذج مستمر يحتوى على رقم الشهر واسمة اريد وضع مربع نص يقوم بالتجميع من يوم 27/الشهر السابق الى يوم 26 الشهر المقابل

مثال

كود الشهر           اسم الشهر                          الاجمالى

 2                        فبراير                                        حسيب التجميع من الجدول

=DSum("[m_price]","[Qry_UNION_MOKHTABER]","date_R between #27/1/2024# and #26/2/2024#")

اريد التعديل على الدالة حتى تتوافق مع باقى الشهور 

قام بنشر

1- الكود ده فى وخدة نمطية

Function GetDateRange() As String
    Dim startDate As Date
    Dim endDate As Date
    Dim currentYear As Integer
    Dim currentMonth As Integer
    
    currentYear = Year(Date)
    currentMonth = Month(Date)
    
    ' Determine the start of the period (27th of the previous month)
    If currentMonth = 1 Then
        startDate = DateSerial(currentYear - 1, 12, 27)
    Else
        startDate = DateSerial(currentYear, currentMonth - 1, 27)
    End If
    
    ' Determine the end of the period (26th of the current month)
    endDate = DateSerial(currentYear, currentMonth, 26)
    
    GetDateRange = "# " & startDate & " # And # " & endDate & " #"
End Function

2-في النموذج الذي يحتوي على مربع النص استخدم الكود الاتى في مصدر التحكم لمربع النص

=DSum("[m_price]", "[Qry_UNION_MOKHTABER]", "date_R Between " & GetDateRange())

 

قام بنشر

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

بالاضافة الى كود اخوي ابو جودي ، اليك طريقة اخرى ، استعلام فرعي، والمفروض يكون اسرع في التنفيذ.

 

في استعلام مصدر بيانات نموذجك، اعمل حقل جديد، ولنسميه A2، ويحتوي على هذا الكود:

A2: (Select Sum([m_price]) From Qry_UNION_MOKHTABER Where date_R between DateSerial(Year(Date()), Month(Date())-1,27)) And DateSerial(Year(Date()),Month(Date()),26)

 

يعني يكون الاستعلام هكذا:

image.png.69ee4be1e451163bc6c0a431997d045a.png

 

جعفر

  • Like 1
قام بنشر
40 دقائق مضت, jjafferr said:

بالاضافة الى كود اخوي ابو جودي ، اليك طريقة اخرى ، استعلام فرعي، والمفروض يكون اسرع في التنفيذ

يا هلا والله اشتقنا 

اذا حضر الماء بطل التيمم

استاذى الجليل ومعلمى القدير و والدى الحبيب الاستاذ @jjafferr :fff:

كل عام وانتم بخير ادامك الله فوق رؤوسنا  

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

في استعلام مصدر بيانات نموذجك، اعمل حقل جديد، ولنسميه A2، ويحتوي على هذا الكود:

A2: (Select Sum([m_price]) From Qry_UNION_MOKHTABER Where date_R between DateSerial(Year(Date()), Month(Date())-1,27)) And DateSerial(Year(Date()),Month(Date()),26)

 

 

هذا الكود يعمل للشهر الحالي والشهر السابق ، ولكني تذكرت بأن الشهر مكتوب عندك في حقل آخر ، لذا سنحتاج الى بيانات لتجربتها (عند شهر يناير (1) ، فنحتاج تصحيح الناتج) 🙂

 

مبدئيا جرب:

A2: (Select Sum([m_price]) From Qry_UNION_MOKHTABER Where date_R between DateSerial(Year(Date()),[myMonth]-1,27)) And DateSerial(Year(Date()),[myMonth],26)

 

حيث [myMonth] هو اسم حقل "كود الشهر".

 

جعفر

  • Like 1
قام بنشر
3 ساعات مضت, ابو جودي said:

1- الكود ده فى وخدة نمطية

Function GetDateRange() As String
    Dim startDate As Date
    Dim endDate As Date
    Dim currentYear As Integer
    Dim currentMonth As Integer
    
    currentYear = Year(Date)
    currentMonth = Month(Date)
    
    ' Determine the start of the period (27th of the previous month)
    If currentMonth = 1 Then
        startDate = DateSerial(currentYear - 1, 12, 27)
    Else
        startDate = DateSerial(currentYear, currentMonth - 1, 27)
    End If
    
    ' Determine the end of the period (26th of the current month)
    endDate = DateSerial(currentYear, currentMonth, 26)
    
    GetDateRange = "# " & startDate & " # And # " & endDate & " #"
End Function

2-في النموذج الذي يحتوي على مربع النص استخدم الكود الاتى في مصدر التحكم لمربع النص

=DSum("[m_price]", "[Qry_UNION_MOKHTABER]", "date_R Between " & GetDateRange())

 

الخبراء الافاضل

كل علم وانتم بخير لعادة الله عليكم هذة الايام المباركة بالخير والصحة

اليكم مااريد فى الصورة واليكم مرفق للتعديل 

Untitled.png

Laboratory_2024.accdb

1 ساعه مضت, jjafferr said:

 

هذا الكود يعمل للشهر الحالي والشهر السابق ، ولكني تذكرت بأن الشهر مكتوب عندك في حقل آخر ، لذا سنحتاج الى بيانات لتجربتها (عند شهر يناير (1) ، فنحتاج تصحيح الناتج) 🙂

 

مبدئيا جرب:

A2: (Select Sum([m_price]) From Qry_UNION_MOKHTABER Where date_R between DateSerial(Year(Date()),[myMonth]-1,27)) And DateSerial(Year(Date()),[myMonth],26)

 

حيث [myMonth] هو اسم حقل "كود الشهر".

 

جعفر

الخبير الفاضل jjafferr

عيد سعيد كل عام وانتم بخير

اليكم ماريد

Untitled.png

Laboratory_2024.accdb

  • أفضل إجابة
قام بنشر

تفضل يا سيدي:

مصدر بيانات النموذج (تستطيع حذف الاعمدة D_From و D_To) :

image.png.a360e511825252a1ab076e6a83fc9cf7.png

.

ونتيجة الاستعلام:

image.png.55125e3fbeb32b143add179d3792dba4.png

.

والنموذج اصبح:

image.png.a8f7deee4682aa4ce5aa3ab04696a137.png

.

جعفر

 

نصيحة:

عندك مشكلة في برنامجك ، فالافضل ان تستورد مائناته الى ملف جديد ، ثم عمل ضغط واصلاح عليه.

 

Laboratory_2024.zip

قام بنشر
19 ساعات مضت, jjafferr said:

تفضل يا سيدي:

مصدر بيانات النموذج (تستطيع حذف الاعمدة D_From و D_To) :

image.png.a360e511825252a1ab076e6a83fc9cf7.png

.

ونتيجة الاستعلام:

image.png.55125e3fbeb32b143add179d3792dba4.png

.

والنموذج اصبح:

image.png.a8f7deee4682aa4ce5aa3ab04696a137.png

.

جعفر

 

نصيحة:

عندك مشكلة في برنامجك ، فالافضل ان تستورد مائناته الى ملف جديد ، ثم عمل ضغط واصلاح عليه.

 

Laboratory_2024.zip 119.27 kB · 4 downloads

الخبير الفاضل ومعلم الاجيال

حققت اكثر ماكنت احلم بة لك خالص الشكر

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