منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[سؤال] حساب الاجازة على حسب الشهر - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغات البرمجة الاخرى (http://vb4arb.com/vb/forumdisplay.php?fid=4)
+--- قسم : قسم لغة vb6.0 (http://vb4arb.com/vb/forumdisplay.php?fid=18)
+---- قسم : قسم أسئلة vb6.0 (http://vb4arb.com/vb/forumdisplay.php?fid=28)
+---- الموضوع : [سؤال] حساب الاجازة على حسب الشهر (/showthread.php?tid=2325)

الصفحات: 1 2


حساب الاجازة على حسب الشهر - الحزين اوى - 22-03-14

السلام عليكم

مرفق مثال برجاء التعديل علية

المطلوب هو عندي جدول الاجازات من تاريخ الى تاريخ والمده

مثلا هناك شخص تمتع بأجازة من الفترة 15/3/2014 الى 26/5/2014 مده الاجازة 73 يوم

اريد فردها كا التالي على الاشهر شهر مارس من 15 الى 31 =17 يوم

وشهر ابريل كلة =30 يوم
وشهر مايو = 26 يوم


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

او وضع المطلوب في DataGrid يكون أفضل


RE: حساب الاجازة على حسب الشهر - asto - 22-03-14

اولا في زر الحفظ نكتب الكود

Text2.Text = DTPicker2.Value - DTPicker1.Value

مرتين مرة في الاعلى و مرة في الاسفل

ثم ننشئ تكست 4 و 5 و 6 و نجعل الاندكس لكل منهم 0 ثم ننسخهم 6 مرات حيث الاندكس 0 لشهر يناير و الاندكس 1 لشهر شباط .........الخ

و الاندكس 5 للمجموع مع ملاحظة جعلعم مخفيين

ثم ننشئ 2 كوماند واحد للسابق و الآخر للتالي

نكتب في اي منهما الكود التالي نفسه مع تغيير السطر السابع المشار اليه ب * باحدى الكودين Adodc1.Recordset.movenext h او Adodc1.Recordset.MovePrevious


كود :
For i = 0 To 5
text4(i).Visible = False
text5(i).Visible = False
text6(i).Visible = False
Next
on error resume next
*
p = DTPicker2.Month - DTPicker1.Month
s = DTPicker2.Year
ss = s / 4
Dim sss As Integer
sss = ss
w = ss = sss
If w = 0 Then
m = 29
Else: m = 28
End If
If p = 0 Then
y = DTPicker2.Month - 1
If Text3.Text = "عارضة" Then
text4(y).Visible = True
text4(y).Text = Text2.Text
End If
If Text3.Text = "طارئة" Then
text5(y).Visible = True
text5(y).Text = Text2.Text
End If
If Text3.Text = "دورية" Then
text6(y).Visible = True
text6(y).Text = Text2.Text
End If

Else
x = DTPicker1.Month
z = DTPicker2.Month
For i = x To z
y = i - 1
If i = 1 Or i = 3 Or i = 5 Then
If i = DTPicker1.Month Then
q = DTPicker1.Day
qq = 31 - q
End If
If i = DTPicker2.Month Then
q = DTPicker2.Day
qq = 31 - q
End If
If Not i = DTPicker1.Month And Not i = DTPicker2.Month Then qq = 31
End If
If i = 2 Then
If i = DTPicker1.Month Then
q = DTPicker1.Day
qq = m - q
End If
If i = DTPicker2.Month Then
q = DTPicker2.Day
qq = m - q
End If
If Not i = DTPicker1.Month And Not i = DTPicker2.Month Then qq = m
End If
If i = 4 Then
If i = DTPicker1.Month Then
q = DTPicker1.Day
qq = 30 - q
End If
If i = DTPicker2.Month Then
q = DTPicker2.Day
qq = 30 - q
End If
If Not i = DTPicker1.Month And Not i = DTPicker2.Month Then qq = 30
End If
If Text3.Text = "عارضة" Then
text4(y).Visible = True
text4(y).Text = qq
End If
If Text3.Text = "طارئة" Then
text5(y).Visible = True
text5(y).Text = qq
End If
If Text3.Text = "دورية" Then
text6(y).Visible = True
text6(y).Text = qq
End If

Next
endif



RE: حساب الاجازة على حسب الشهر - الحزين اوى - 23-03-14

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

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


ولكن المطلوب اخي الكريم هو رصد الاجازة بمعنى عندما يحصل على اجازة 73 يوم
15/3/2014 الى 26/5/2014
اريد فردها كا التالي على الاشهر شهر مارس من 15 الى 31 =17 يوم

وشهر ابريل كلة =30 يوم
وشهر مايو = 26 يوم

اكرر شكري اخوي ومنتظر المساعده


RE: حساب الاجازة على حسب الشهر - asto - 23-03-14

ارفق لنا مشروعك


RE: حساب الاجازة على حسب الشهر - الحزين اوى - 23-03-14

عذاً اخوي

المطلوب ترصيد الاجازات - من نوع عارضه -طارئة - دورية - غياب - طبية - عطل

على مدار العام الخاص بالموظف حسب رقمة وشكراً وليس للسجل الحالى

مرفق مثال


RE: حساب الاجازة على حسب الشهر - الحزين اوى - 23-03-14

عذراً الشكل النهائي المطلوب


RE: حساب الاجازة على حسب الشهر - asto - 23-03-14

اولا قبل كل شيء اعد انشاء قاعدة البيانات عبر برنامج الفيجوال و ليس عبر الاكسس ثم ارفقه لوحده علما ان تعديل الاكواد بسيط استبدل ال Adodc1 ب data1

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


RE: حساب الاجازة على حسب الشهر - الحزين اوى - 24-03-14

اخي لا افهم قصدك بأعادة انشاء قاعده البيانات بالفيجوال بيسك

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


قمت بتبديل الربط data1 وكتبت لك اسماء الحقول للتسهيل


RE: حساب الاجازة على حسب الشهر - asto - 25-03-14

تفضل اخي

لم تضبط لا ال data1 و لا حتى اداة Adodc1 في طلبك و قاعدة البيانات الاصلية كما هي بدون تغيير

المهم العرض يتم من خلال القائمة المنسدلة و الاختيار


RE: حساب الاجازة على حسب الشهر - الحزين اوى - 26-03-14

شكرا لك استاذي الغالى

بس الكود مو مظبوط