اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

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

قام بنشر

استعلام به خانة للتاريخ اريد وضع كود لاستخراج بيانات اخر شهر كامل و لكن بداية الشهر يحددها المستخدم 

بمعني استخراج بيانات عن شهر يبدأ من 24/2/2022 حتي 23/3/2022 

او ان المستخدم يحدد اليوم الذي يريدة الذي يبدأ الشهر منه 

بمعني ان المستخدم من الممكن يجعل اول يوم في الشهر هو يوم 10

فيستخرج الاستعلام مثلا بيانات الفترة من 10/2/2022 حتي 9/3/2022 

 

  • تمت الإجابة
قام بنشر

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

 

عندك طريقتين لكي "تحدد اليوم الذي يريدة الذي يبدأ الشهر منه" :

1. المعيار في الاستعلام مباشرة (يجب ان تكون الكتابة نفسها في المكانين:

image.png.a7b618bb3018e7b9ff4f32928b50248b.png

.

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

image.png.8e075b71060d2954ba9898430046cd73.png

.

هذا هو الكود:

Between [Please enter FROM date] And DateAdd("m",1,[Please enter FROM date])-1

.

2. في النموذج frm_Main في الحقل Date_From :

فيكون المعيار في الاستعلام :

image.png.92e235340b94db88553bd79b0dc18255.png

.

Between [Forms]![frm_Main]![Date_From] And (DateAdd("m",1,[Forms]![frm_Main]![Date_From])-1)

.

 

وهذا الكود DateAdd("m",1,[Forms]![frm_Main]![Date_From]) معناه اضف :

m = شهر

1 = المدة التي نريد ان نضيفها

[Forms]![frm_Main]![Date_From] = على هذا التاريخ

 

فيعطينا شهر واحد بعد هذا التاريخ ،

ولكنك تريد شهر ناقصا يوم واحد ، لهذا السبب نضيف 1- في نهاية الامر

 

جعفر

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

هذا ما كنت اريده بالظبط و الحمد لله وصلت الية بفضلك استاذي jjafferr و الحمد لله 

Public Function FirstDate()
Dim year1 As Integer
Dim month1 As Integer
Dim day1 As Integer
Dim myday As Integer
Dim myDate As Date
    year1 = Year(Date)
    month1 = Month(Date)
    day1 = Day(Date)
myday = DLookup("[dayfirst]", "[firstd]")
myDate = DateSerial(year1, month1, 0)
If day1 >= myday Then
myDate = DateSerial(year1, month1, myday)
Else
myDate = DateSerial(year1, month1 - 1, myday)
End If
FirstDate = myDate
End Function

 

 

Untitled.png

تم تعديل بواسطه jjafferr
استعمال <> من القائمة ، ثم وضع الكود في نافذته
قام بنشر

السلام عليكم..

جواب استاذ جعفر مطابق تماما لسؤالك في مشاركتك الاولى

اما الوحدة النمطية فهي لن تفيدك لسببين ...ان الدالة DLookup تبحث عن سجل واحد وليس عن عدة سجلات ولهذا سيظهر لك خطا...اما بقية الكود فهو يعطيك تاريخ نهاية الشهر الذي يسبق الشهر الحالي

قام بنشر

استاذي العزيز Eng.Qassim 

الفضل كل الفضل للاستاذ جعفر في هذا و في غيره مما اتعلمه منه و في الكثير من حل المشكلات لي و لغيري 

اولا ما كنت ادري بداله DateSerial لاني مبتدئ 

انا اول مرة استخدم وحدة نمطية من تصميمي 

وانا و الله كان كل قصدي اني كنت عايز اعرف رأيه فيها و هل هاتطلع ناتج مظبوط و لا لاء 

 

قام بنشر
2 ساعات مضت, ABOLO2 said:

نا اول مرة استخدم وحدة نمطية من تصميمي 

الان فهمت قصدك..بارك الله فيك 

اي ان الجدول firstd يحمل قيمة واحدة فقط ...كودك يعمل بشكل جيد

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

  • Thanks 1

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

يجب ان تكون عضوا لدينا لتتمكن من التعليق

انشئ حساب جديد

سجل حسابك الجديد لدينا في الموقع بمنتهي السهوله .

سجل حساب جديد

تسجيل دخول

هل تمتلك حساب بالفعل ؟ سجل دخولك من هنا.

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

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

Important Information