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

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


ِAbo_El_Ela
إذهب إلى أفضل إجابة Solved by jjafferr,

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

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

بمعني استخراج بيانات عن شهر يبدأ من 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
رابط هذا التعليق
شارك

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