الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

سؤال عن التاريخ

مغلق
بدأه saeed في 18 أغسطس 2001 · 41 رد · 2,814 مشاهدة · في مراجعة المواضيع
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

أنا مبتدى في الأكسس يا اخوان لي سؤال وهو مهم بالنسبة لي

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

سؤالي : كيف استطيع اعمل استعلام لفترة معينة لإنني كنت في العادة استخدم العبارة التالية

Between Format([Forms]![FrmReports]![DateFrom];"yyyy/m/d") And Format([Forms]![FrmReports]![DateTo];"yyyy/m/d")

فكيف الحل ارجو تبسيط الحل لإنني مبتديء

واتمنى منكم بمثال مثل مايعمل الأخ الكريم ((مسافر))

#2

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

الذي فهمته من سؤالك انه يوجد حقل لليوم وحقل لشهر وحقل لسنه

وتريد ان تبحث بتاريخ كامل في مربع نص اذا كان هذا الذي تريده فهذا المثال يعمل على الاكسيس 2000 اما اذا كان المقصود شي اخر فارجو التوضيح

http://mypage.ayna.com/mesfer823/date.zip

وتقبل تحياتي / مسافر

#3

اشكرك ياخي (مسافر) ويعلم الله اني عارف انك اللي بتفزع لولد عمك

مع شكري للجميع

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

سعيد الغامدي

#4

مازلت انتظر الإجابة؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

#5

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

الاخ سعيد لوتوضح المسأله شوي يمكن ندلك على حلول افضل

لان الواحد اذا كان مبتدىء يكون عامل شغلات كبيره وهي ممكن

تكون مختصره ، وانا هذا الي لمسته من خلال فترة تعلمي Access

او قواعد البيانات بشكل عام ،، مع تمنياتي للجميع بالتوفيق ،

مع السلامه (-:

#6

الاخ / saeed

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

اتمنا ان توضح السؤال اكثر من ذلك

وتقبل تيحاتي / مسافر

#7

الأخوان System ومسافر

اشكركم على اهتمامكم بسؤالي

الأخ مسافر اجاب على السؤل بشكل ممتاز ولكن سؤالي الثاني هو انني لااريد أن ادمج حقول التاريخ في الاستعلام والنماج بعنى

انني اريد عمل نموذج فيه ثلاث مربعات بحيث فيهم اليوم والشهر والعام

وثلاث مربعات اخرى مماثلة

بحيث اضع تاريخين ليبحث عنهما يعني يستعلم عن فترة معينة

وبدون دمج التاريخ yyyy/m/d

ارجو ان يكون السؤال واضح.

شكراً للجميع

#8

الاخ /saeed

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

كان المثال السابق هوا الطريقه الصحيحه للبحث من تاريخ الى تاريخ

ولكن تقول ان التاريخ مقسم الى ثالثه حقول

حقل اليوم

حقل الشهر

حقل السنه

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

عندما تريد ان تبحث من تاريخ الى تاريخ اخر فانه يجب ان يكون اليوم والشهر والسنه في نفس الحقل الذي تبحث عنه في نموذج البحث والستعلام (( ولا يوجد مشكلة في ان تضح اليوم في حقل والشهر في حقل والسنه في حقل عند ادخال التاريخ ))

ملاحظة : يمكن ان تبحث في التاريخ بطريقة التي ذكرت انت مثل

((5/4/1422هـ)) في الحاله هذي يمكن ان تطبق الطريقة التي ذكرته انت اما اذكان تقصد بعث من تاريخ الى تاريخ مثل

(( 1/5/1420هـ)) الى تاريخ ((6/9/1422هـ)) فانه يجب ان تجمع الحقول في حقل واحد

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

هذا المثال فيه طريقتين للبحث عن طريقة التاريخ يعمل على الاكسيس 2000

http://mypage.ayna.com/mesfer823/date.zip

وتقبل تحياتي / مسافر

#9

اشكرك يا أخ مسافر من الأعماق على سرعة ردك

وحقيقة المشكلة انني ارغب في عمل بعض التقارير من قاعة بيانات برنامج معارف والتواريخ في القاعدة مجزئة الى ثلاث حقول.

اشكرك مرة اخرى

والله يرعاك

#10

الأخ Saeed

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

آمل توضيح نوع التاريخ هجري أم ميلادي علي استطيع أن أجد لك حلا .

#11

آسف على التأخير

التاريخ هجري

#12

الأخ / Saeed

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

هذا حل بسيط آمل أن تجربه عسى أن يكون فيه الجواب الشافي :

عمل دالة كالآتي :

Function Hijri(dd,mm as byte, yy as integer) as String

Hijri = Format(yy,"0000") & Format(mm,"00") & Format(dd,"00")

End Function

ويكون استخدامها كالآتي :

WHERE Hijri(Day,Month,Year) Between Hijri(1,1,1422) and Hijri(30,12,1422);

هذا ولك خالص تحياتي

#13

الأخ ابو هادي

اشكرك جداً

ولكن انا معرفتي بسيطة في الأكسس

الرجاء توضيح كيف واين اضع هذه الدالة واتمنى أن

توضحها في مثال حتى ولو كان بثال الأخ مسافر

اعتذر على ما اسسببه لكم من تعب

مع الشكر للجميع

#14

الأخ Saeed

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

من القائمة الرئيسية اذهب ألى قسم الـ Modules

ثم أخلق Module جديد باختيار New أو اضافته على module سابق باختيار Design ثم قم بكتابة الدالة مع ملاحظة أنه يوجد سطران في بداية كل module لا تقم بمسحهما واكتب الدالة بعدهما مباشرة .

وفقك الله .

#15

أنشئ ستة مرابعات نص على النموذج باسم

يوم بداية

يوم نهاية

شهر بداية

شهر نهاية

سنة بداية

سنة نهاية

ثم في الاستعلام أسند حقول الجدول الى هذه المربعات مثال للشهر

في معيار ضع :

Between Forms![اسم النموذج]![شهر بداية] and Forms![شهر نهاية]

أرجو أن أكون قد فهمت السؤال.

ملاحظة اترك النموذج مفتوحاً عند تشغيل الاستعلام .

ولك تحياتي

#16

الأخ ابو حمود ولايهون الجميع

اشكرك وبدأت أفهم ولكن طبقت ماذكرت بالتمام والكمال ولم تنجح

انتظر الحل

#17

أخي الكريم عذراً فقط أخطأت بسبب عدم المراجعة المتأنية .

ما كتبته :

Between Forms![اسم النموذج]![شهر بداية] and Forms![شهر نهاية]

والصحيح :

Between Forms![اسم النموذج]![شهر بداية] and Forms![اسم النموذج]![شهر نهاية]

هذا بالنسبة للشهر ويجب عليك تغيير (اسم النموذج) باسم النموذج لديك .

بقية الكود :

لليوم :

Between Forms![اسم النموذج]![يوم بداية] and Forms![اسم النموذج]![يوم نهاية]

للسنة :

Between Forms![اسم النموذج]![سنة بداية] and Forms![اسم النموذج]![سنة نهاية]

ويجب أن يعمل معك لاحظ أن إدخالك في الحقول الستة الموجودة على النموذج يجب أن تكون مماثلة للموجودة في الجدول ، بمعنى لا تدخل التاريخ كاملاً في هذه الحقول بل جزئه على الحقول فمثلاً إذا رغبت في البيانات بين تاريخ 1/1/1421 وتاريخ 15/6/1422

ضع الآتي في الحقول :

يوم بداية : 1

يوم نهاية : 15

شهر بداية : 1

شهر نهاية : 6

سنة بداية 1421

سنة نهاية 1422

وإذا ضبطت معك سأعطيك كود يقوم بتجزئه التاريخ على الحقول دون تدخل منك .

أنا في انتظار ردك مع شرح وافي للنتيجة يعني ماذا يظهر لك بالتفصيل .

ولك تحياتي

#18

الأخ ابو حمود يشهد الله انني عاجز عن شكرك

اخي : لقد طبقت فكرتك ونجحت معي ولكن ظهرت لي مشكلهوهي

انه يوجد لدي موظفين غائبين في شهر 1/1422 وعددهم سته

فإذا اخترت التاريخ التالي :

من 1/1/1422 الى 1/2/1422

لايعطيني سوى موظف واحد فقط

واذا اخترت التاريخ التالي:

1/1/1422 الى 15/2/1422

يعطيني الغائبين في 15يوم من الشهر 1 وايضا من الشهر 2

فما هي المشكلة

رعاك الله

#19

الأخ Saeed

بعد التحية :

الحل هو استخدام الدالة التي كتبتها في رد سابق

ولك تحياتي .

#20

الأخ سعد

اكتب تواريخ غياب الستة موظفين كلهم .

في الفترة 1/1/1422 الى 1/2/1422 اكتب تاريخ غياب الموظف

وفي الفترة 1/1/1422 الى 15/2/1422

ماهي بداية الأيام التي يعطيك إياها ونهايتها اكتب التاريخ .

وهذا كود لتجزئة التاريخ في الحقول الستة :

On Error Resume Next

If IsNull(Me![التاريخ_من]) Or IsNull(Me![التاريخ_إلى]) Then

MsgBox "تاريخ البداية أو تاريخ النهاية فارغ .", vbCritical + vbMsgBoxRight + vbMsgBoxRight, "حقل فارغ"

Exit Sub

End If

[يوم_بداية] = DatePart("d", التاريخ_من)

[شهر_بداية] = DatePart("m", التاريخ_من)

[سنة_بداية] = DatePart("yyyy", التاريخ_من)

[يوم_نهاية] = DatePart("d", التاريخ_إلى)

[شهر_نهاية] = DatePart("m", التاريخ_إلى)

[سنة_نهاية] = DatePart("yyyy", التاريخ_إلى)

أنشئ على النموذج مربعي نص الأول باسم التاريخ_من والثاني باسم التاريخ_إلى واجعل خاصية مرئي لمربعات النص الستة إلى لا وماعليك الآن إلا كتابة تاريخ عادي -مثل 10/4/1422- في حقل تاريخ_من ونفس الطريقة لحقل تاريخ_إلى .

وكل تحياتي

#21

الأخ ابو حمود

الله يطيك العافيه

احس ان الأمور بدأت تتعقد معي احتاج لتبسيط الموضوع

اكرمك الله

#22

الأخ سعد

دعك من كود التجزئة .

قلت في ردك السابق أنه يوجد لديك ستة موظفين غائبين في شهر 1/1422 وعددهم ستة المطلوب منك كتابة تواريخ غيابهم مثال 17/1/1422 وكذلك أريد تاريخ غياب الموظف الذي يظهر إذا اخترت تاريخ من 1/1/1422 الى 1/2/1422 أظن ذلك واضح وهذا لأرى سبب المشكلة .

ثانيا

إذا اخترت الفترة من 1/1/1422 الى 15/2/1422 ماهو أول تاريخ يعني أقدم تاريخ ، وآخر تاريخ يظهر يعني التاريخ الأقرب للتاريخ الحالي مثال أول تاريخ 12/1/1422 وآخر تاريخ 10/2/1422 .

لعلي إن شاء أكون قد فهمتك المطلوب ، ثم أرغب أن تتأكد من إدخالاتك مرة أخرى فقد تكون أخطأت في إدخال أحد الأرقام .

ولك تحياتي

#23

والله يابو حمود غلبتك معي لكن اخدمك في الأفراح

اخي الكريم:

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

اذا رغبت ارجو اعطائي بريدك

ولك الشكر

#24

هذا أفضل حل وهذا بريدي

H_H123@Hotmail.com

ولك تحياتي

#25

اخي ابوحمود

راجع بريدك لو سمحت

كما ارجو بعد فتح قاعدة البيانات ->النماذج ادخال التواريخ التالية:

من 1/1/1422

الى 1/2/1422

ثم قارنها مع التواريخ التالية:

من 1/1/1422

الى 29/1/1422

ارجو حل المشكلة

ولك تحياتي

هذا الموضوع مغلق.

مواضيع مشابهة