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

مساعدة في هذا الكود

بدأه الحياة امراة في 20 أبريل 2012 · 8 رد · 419 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

عدت من جديد بسؤالاتي...

اشتغل على برنامج ( اجازات الموظفين ) ، وصارت عندي اشكالية وهي: ماقدرت اوجد عدد الايام التي خرجها الموظف من بداية تاريخ الاجازة الى تاريخ نهاية الاجازة.

المطلوب:

كود يقوم بعملية الطرح بين التاريخين : تاريخ بداية الاجازة - تاريخ نهاية الاجازة = ( )يوم ، يظهر عدد الايام التي خرجها الموظف.

ولكم مني جزيل الشكر.

استخدم VB 6

#2
Text3.Text = DateDiff("d", Text1.Text, Text2.Text)

تكست1 = يحمل التاريخ الأول
تكست2 = يحمل التاريخ الثاني

تكست3 = الفرق بين التاريخين بالأيام

"d" = day يعني يوم

لو نبي الفرق بالشهور نضع بدل d

m

لو نبي الفرق بالسنوات نضع بدل d

yyyy

تم تعديل هذه المشاركة بواسطة codenew في 21 أبريل 2012 في 02:28

#3
codenew كتب:

Text3.Text = DateDioff("d", Text1.Text, Text2.Text)

تكست1 = يحمل التاريخ الأول
تكست2 = يحمل التاريخ الثاني

تكست3 = الفرق بين التاريخين بالأيام

"d" = day يعني يوم

لو نبي الفرق بالشهور نضع بدل d

m

لو نبي الفرق بالسنوات نضع بدل d

yyyy

اشكرك جدا... ولكن ما ضبط معي؟!؟!؟

انا عملت الطريقة البسيطة ولكن يظهر لي السالب(-)

يعني اطرح الاول من الثاني او العكس، واعتقد هذه الطريقة ناقصة او مش صحيحة..

#4
عفواً

هناك خطأ بالفعل زيادة حرف وتم تعديلها في المشاركة الأولى

Text3.Text = DateDioff("d", Text1.Text, Text2.Text)

تكون هكذا

Text3.Text = DateDiff("d", Text1.Text, Text2.Text)

تم تعديل هذه المشاركة بواسطة codenew في 21 أبريل 2012 في 02:29

1
#5
codenew كتب:

عفواً

هناك خطأ بالفعل زيادة حرف وتم تعديلها في المشاركة الأولى

Text3.Text = DateDioff("d", Text1.Text, Text2.Text)

تكون هكذا

Text3.Text = DateDiff("d", Text1.Text, Text2.Text)

جزاك ربي خير الجزاء.. بس ظهرت عندي مشكلتين:

1- عند الطرح: تاريخ نهاية الاجازة من تاريخ بداية الاجازة يعطي الناتج بالسالب(-)، وطبعا هذا غير مقبول.

2- اعتقد ان الكود يقوم بطرح التاريخ فقط من غير الاشهر. المهم انا اريد يظهر لي كم المدة اللي خرجها الموظف من بداية الاجازة وحتى نهايتها.

ولكم مني جزيل الشكر ...

#6
عند طرح تاريخ اصغر من تاريخ هنا يظهر ناتج الايام بالسالب

يجب عليك وضع كود تحقق انه في حالة كان التاريخ اصغر يظهر مسج وإذا كان العكس ينفذ العملية ويظهر الفرق بين التاريخين

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

الحل : مثلا احمد اخذ اجازة بتاريخ 2012/04/01 (تاريخ بداية الإجازة موجود في تكست1)

وتنتهي الإجازة في 2012/05/01 (تاريخ نهاية الإجازة موجود في تكست2)

يكون الكود التالي : 

Text3.Text = DateDioff("d", Text1.Text, Text2.Text)

هنا سيظهر ناتج الأيام بالموجب


أما لو عملنا هكذا

Text3.Text = DateDioff("d", Text2.Text, Text1.Text)

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


تحياتي
1
#7
codenew كتب:

عند طرح تاريخ اصغر من تاريخ هنا يظهر ناتج الايام بالسالب

يجب عليك وضع كود تحقق انه في حالة كان التاريخ اصغر يظهر مسج وإذا كان العكس ينفذ العملية ويظهر الفرق بين التاريخين

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

الحل : مثلا احمد اخذ اجازة بتاريخ 2012/04/01 (تاريخ بداية الإجازة موجود في تكست1)

وتنتهي الإجازة في 2012/05/01 (تاريخ نهاية الإجازة موجود في تكست2)

يكون الكود التالي : 

Text3.Text = DateDioff("d", Text1.Text, Text2.Text)

هنا سيظهر ناتج الأيام بالموجب


أما لو عملنا هكذا

Text3.Text = DateDioff("d", Text2.Text, Text1.Text)

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


تحياتي

اشكرك جزيل الشكر ع التوضيح.

ممكن سوال بعد اذنك:

ليش كلما اخن التاريخ بصيغة: 25/2/2012 يظهر في قاعدة البيانات 2/25/2012 ؟؟؟؟؟؟؟

شو الحل؟؟

#8

العفو ،

أكيد نرحب بالأسئلة وليس سؤال !

ما نوع حقل التاريخ في قاعدة البيانات هل هو نص أو تاريخ/وقت

ايضاً عند حفظ البيانات ماهو الكود الخاص بالحفظ ؟

1
#9
codenew كتب:

العفو ،

أكيد نرحب بالأسئلة وليس سؤال !

ما نوع حقل التاريخ في قاعدة البيانات هل هو نص أو تاريخ/وقت

ايضاً عند حفظ البيانات ماهو الكود الخاص بالحفظ ؟

اشكرك جزيل الشكر سيدي..

بالنسبة للاول فهو ( تاريخ / وقت)

واما الثاني فهو ( ما اعرف اذا كان هذا الكود او لا )

On Error Resume Next

SQLs = MsgBox(" هل تريد اضافة سجل ", vbYesNo, " CAUTION ")

If SQLs = vbNo Then Exit Sub

Data1.Recordset.AddNew

Text1.Enabled = True

Text2.Text = ""

Text3.Enabled = True

Text4.Enabled = True

Text5.Enabled = True

Text6.Enabled = True

Text7.Enabled = True

Text8.Enabled = True

Text9.Enabled = True

ولك مني جزيل الشكر استاذي

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