اذهب الي المحتوي
أوفيسنا

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

قام بنشر

السلام عليكم 

بعد اذن حضرتكم 

كنت عاوز صيغة لدالة حسابيه للوقت الاضافى 

عندي مربع نص به وقت الدوام (اخر الوقت) (الافتراضى)

عندي مربع نص به وقت الدوام (اخر الوقت) (الفعلى)

عندي مربع نص به تاريخ اليوم 

اريد ان اعمل دالة حسابيه 

احسب الفرق بين (Innn) و (txtTimeOut)  واضع شرطين هنا

الشرط الاول اذا كان تاريخ اليوم هو يوم الخميس 

الشرط الثاني اذا كان تاريخ اليوم هو يوم الجمعه

علما ان اى اعمال تتم يوم الجمعه هو وقت اضافى

مرفق ملف للتوضيح

وبرجاء اذا فشلت فى توضيح ما اريد اسألوني فى النقطه المبهمه ولكم جزيل الشكر

 

OT.accdb

قام بنشر (معدل)
43 دقائق مضت, Eng.Qassim said:

تفضل استاذ عمر.. حاول ان تغير التاريخ الى يوم الخميس والجمعة

 

OT.accdb 640 kB · 0 downloads

استاذي المهندس قاسم بارك الله فيك وامد الله فى عمرك وعافيتك 

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

ولى ملاحظه بعد اذن حضرتك

يوم الجمعه يحسب كله كيوم اضافى اى لو عملت من الساعه السابعه صباحا حتى التاسعه صباحا يحسب لى 2 ساعه اضافى وهكذا حسب عدد ساعات العمل يوم الجمعه 

اعتقد انها هنا يحسب فترة العمل كانها اضافى صحيح !

هذا الترجمه الصحيحه للنقطه دي

Atvw6cS.png

تم تعديل بواسطه عمر ضاحى
قام بنشر (معدل)

لماذا ظهر لك بالسالب؟

هذا عندي

الظاهر انك غيرت بالكود..بصراحة انا عملت الكود حسب فهمي للدوام

 

 

Add.PNG

تم تعديل بواسطه Eng.Qassim
  • Haha 1
قام بنشر
5 دقائق مضت, Eng.Qassim said:

لماذا ظهر لك بالسالب؟

هذا عندي

الظاهر انك غيرت بالكود..بصراحة انا عملت الكود حسب فهمي للدوام

 

 

Add.PNG

والله ما ادري ^_^

قام بنشر
الان, عمر ضاحى said:

والله ما ادري ^_^

😂

طيب قارن هذا الكود بالموجود عندك

Me.day1.SetFocus
If Me.day1.Text = "الخميس" Then
    Me.txtOT = DateDiff("n", [txtStanderTimeOut2], [txtDwamOut]) \ 60 & ":" & DateDiff("n", [txtStanderTimeOut2], [txtDwamOut]) Mod 60
ElseIf Me.day1.Text = "الجمعة" Then
    Me.txtOT = DateDiff("n", [txtDwamIn], [txtDwamOut]) \ 60 & ":" & DateDiff("n", [txtDwamIn], [txtDwamOut]) Mod 60

Else
   Me.txtOT = DateDiff("n", [txtStanderTimeOut1], [txtDwamOut]) \ 60 & ":" & DateDiff("n", [txtStanderTimeOut1], [txtDwamOut]) Mod 60
End If

او غير اسم الخميس والجمعة للانكليزي

قام بنشر
45 دقائق مضت, Eng.Qassim said:

😂

طيب قارن هذا الكود بالموجود عندك

Me.day1.SetFocus
If Me.day1.Text = "الخميس" Then
    Me.txtOT = DateDiff("n", [txtStanderTimeOut2], [txtDwamOut]) \ 60 & ":" & DateDiff("n", [txtStanderTimeOut2], [txtDwamOut]) Mod 60
ElseIf Me.day1.Text = "الجمعة" Then
    Me.txtOT = DateDiff("n", [txtDwamIn], [txtDwamOut]) \ 60 & ":" & DateDiff("n", [txtDwamIn], [txtDwamOut]) Mod 60

Else
   Me.txtOT = DateDiff("n", [txtStanderTimeOut1], [txtDwamOut]) \ 60 & ":" & DateDiff("n", [txtStanderTimeOut1], [txtDwamOut]) Mod 60
End If

او غير اسم الخميس والجمعة للانكليزي

نفس الكود 

قام بنشر
الان, عمر ضاحى said:

نفس الكود 

طيب غير اسماء الخميس والجمعة للانكليزي

If Me.day1.Text = "Thursday" Then
    Me.txtOT = DateDiff("n", [txtStanderTimeOut2], [txtDwamOut]) \ 60 & ":" & DateDiff("n", [txtStanderTimeOut2], [txtDwamOut]) Mod 60
ElseIf Me.day1.Text = "Friday" Then

 

قام بنشر
18 دقائق مضت, Eng.Qassim said:

طيب غير اسماء الخميس والجمعة للانكليزي

If Me.day1.Text = "Thursday" Then
    Me.txtOT = DateDiff("n", [txtStanderTimeOut2], [txtDwamOut]) \ 60 & ":" & DateDiff("n", [txtStanderTimeOut2], [txtDwamOut]) Mod 60
ElseIf Me.day1.Text = "Friday" Then

 

طيب ايه رايك لو اضفنا دالة OR 

بحيث اذا جاء الخميس عربي او انجليزي مختصر او كامل كله يكون موجود ؟

قام بنشر

هى فعلا اشتغلت لما حولتها انجليزي

بس الاجهزة كلها مش زي بعض 
فى بعض الاجهزي عندي مفهاش اللغه العربيه خالص 

قام بنشر (معدل)
Me.day1.SetFocus
If (Me.day1.Text) = "Thursday" Or (Me.day1.Text) = "الخميس" Then
    Me.txtOT = DateDiff("n", [txtStanderTimeOut2], [txtDwamOut]) \ 60 & ":" & DateDiff("n", [txtStanderTimeOut2], [txtDwamOut]) Mod 60
ElseIf (Me.day1.Text) = "Friday" Or (Me.day1.Text) = "الجمعة" Then
    Me.txtOT = DateDiff("n", [txtDwamIn], [txtDwamOut]) \ 60 & ":" & DateDiff("n", [txtDwamIn], [txtDwamOut]) Mod 60

Else
   Me.txtOT = DateDiff("n", [txtStanderTimeOut1], [txtDwamOut]) \ 60 & ":" & DateDiff("n", [txtStanderTimeOut1], [txtDwamOut]) Mod 60
End If

بعد اذن حضرتك طبعا انا حبيت اعدل واشوف اذا كان كده صح

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

 

تم تعديل بواسطه عمر ضاحى
قام بنشر
الان, عمر ضاحى said:

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

بتعطيني خطأ ... لكن لما جربت الكود التالي اشتغل صحيح

If Me.day1.Text = "Thursday" Or Me.day1.Text = "الخميس" Then

 

  • Thanks 1
قام بنشر

هناك مشكلة اخرى ايضا 

لما حبيت انقل الكود للبرنامج الرئيسي

ظهرلى ده

UvCQZTH.png

الان, Eng.Qassim said:

بتعطيني خطأ ... لكن لما جربت الكود التالي اشتغل صحيح

If Me.day1.Text = "Thursday" Or Me.day1.Text = "الخميس" Then

 

تمام انا باشيل الاقواس

قام بنشر

انا جربت انى اضيف متغير علشان يعمل العمليه الحسابيه على كل سجل لحاله 

بهذه الطريقه 

On Error GoTo Errw
Dim i As Integer
DoCmd.GoToRecord , , acFirst
 For i = 1 To Me.Recordset.RecordCount
Me.day1.SetFocus
If (Me.day1.Text) = "Thursday" Or (Me.day1.Text) = "الخميس" Then
    Me.txtOT = DateDiff("n", [txtStanderTimeOut2], [txtTimeOut]) \ 60 & ":" & DateDiff("n", [txtStanderTimeOut2], [txtTimeOut]) Mod 60
ElseIf (Me.day1.Text) = "Friday" Or (Me.day1.Text) = "الجمعة" Then
    Me.txtOT = DateDiff("n", [txtTimeIn], [txtTimeOut]) \ 60 & ":" & DateDiff("n", [txtTimeIn], [txtTimeOut]) Mod 60

Else
   Me.txtOT = DateDiff("n", [txtStanderTimeOut1], [txtTimeOut]) \ 60 & ":" & DateDiff("n", [txtStanderTimeOut1], [txtTimeOut]) Mod 60
End If
DoCmd.GoToRecord , , acNext
GoTo nxfor
nxfor:
    Next i
Exit Sub
Errw:

لكني لم اوفق فى هذا 

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

قام بنشر

استاذ عمر .. ممكن تبعتلي البرنامج الرئيسي ؟

بس مش اواعدك اليوم .. لاني ح نام لان بكرى عندي دوام

انا حابب اكمل المشروع مع حضرتك

  • Thanks 1
قام بنشر (معدل)
5 دقائق مضت, Eng.Qassim said:

استاذ عمر .. ممكن تبعتلي البرنامج الرئيسي ؟

بس مش اواعدك اليوم .. لاني ح نام لان بكرى عندي دوام

انا حابب اكمل المشروع مع حضرتك

ابشر 
سوف اقوم بحذف الداتا المهمه واضيف اى بيانات اخرى 

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

واسف انى سهرت حضرتك 

وانا ايضا كنت هنام لو ما وجدت حل ^_^ باصحه على 5 الفجر ^_^

تم تعديل بواسطه عمر ضاحى
  • Like 1
قام بنشر

انا جربت اعملها بهذه الصورة 

=IIf([day1].[Text]="Thursday";(DateDiff("n";[txtStanderTimeOut2];[txtTimeOut])\60 & ":" & DateDiff("n";[txtStanderTimeOut2];[txtTimeOut]) Mod 60);IIf([day1].[Text]="Friday";(DateDiff("n";[txtTimeIn];[txtTimeOut])\60 & ":" & DateDiff("n";[txtTimeIn];[txtTimeOut]) Mod 60);(DateDiff("n";[txtStanderTimeOut1];[txtTimeOut])\60 & ":" & DateDiff("n";[txtStanderTimeOut1];[txtTimeOut]) Mod 60)))

لكنها اعطتني خطأ 
#نوع!

 

حد يعرف السبب ؟

قام بنشر

مبدئيا كده 

عرفت احل مشكلة الخطأ

وكان فى وجود الزائده

.[Text]

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

هذه الداله بعد الاصلاح

=IIf([day1]="Thursday";(DateDiff("n";[txtStanderTimeOut2];[txtTimeOut])\60 & ":" & DateDiff("n";[txtStanderTimeOut2];[txtTimeOut]) Mod 60);IIf([day1]="Friday";(DateDiff("n";[txtTimeIn];[txtTimeOut])\60 & ":" & DateDiff("n";[txtTimeIn];[txtTimeOut]) Mod 60);(DateDiff("n";[txtStanderTimeOut1];[txtTimeOut])\60 & ":" & DateDiff("n";[txtStanderTimeOut1];[txtTimeOut]) Mod 60)))

هل ممكن احد ينظر لها نظرة تمعن ويجد لى الخطأ !

قام بنشر

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

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

 

حضور وانصراف موظفين_TestV31Q.accdb

  • 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