تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[سؤال] [تم الحل] مشكلة برنامج حساب نسب الموظفين
#21
السلام عليكم ورحمة الله وبركاته

أهلا بك أخي الكريم ، الحمدلله دائماً وأبداً هذا من فضل الله علينا جميعاً ، شكراً جزيلاً لك على كلماتك الطيبه ودعواتك الطيبه الله يتقبلها لي ولك ولجميع المسلمين والله يسعدك ويوفقك ويسهل أمورك في الدنيا والآخره وجميع المسلمين ، جزاك الله كل خير .
كود :
For Each Breathe in MyLife
Breathe.Say " سبحان الله والحمد لله ولا إله إلا الله والله أكبر أستغر الله العظيم وأتوب إليه"
Next
الرد }}}
#22
اخي الغالي احمد منصور اعلم بانني كثرت اسئلتي لك ولكن فعلا محتاج لك 
اذا عندك بعض الوقت لترى هل هذا الكود صحيح ام لا
حيث انني اردت عند تحميل واجهة الحضور والغياب يقوم هذا الكود بعمل غياب لكل الموظفين في هذا اليوم (تاريخ الجهاز)

جلبت بيانات الحضور والغياب فان وجد ان اكثر من شخص غائبين في هذا التاريخ إذاً يخرج من الاجراء .... مالم يقوم بعمل غياب للكل 

هذا ولك جزيل الشكر 
PHP كود :
Public Sub CountEM()
'Dim RSGhiab As ADODB.Recordset
'
Set RSGhiab = New ADODB.Recordset
If RSGhiab.State adStateOpen Then RSGhiab.Close
RSGhiab
.Open "SELECT * FROM falowTB where FDate like #" Date "#"DbadOpenStaticadLockOptimistic
If RSGhiab.RecordCount 0 Then
Exit Sub
Else
'Dim RSCountEM As ADODB.Recordset

'
Set RSCountEM = New ADODB.Recordset
Dim CC 
As Integer

If RSCountEM.State adStateOpen Then RSCountEM.Close
RSCountEM
.Open "SELECT EmID FROM EmpTB"DbadOpenStaticadLockOptimistic

If RSCountEM.RecordCount 0 Then
   
   RSCountEM
.MoveFirst
   
Do While Not RSCountEM.EOF
  
' Do Until RSCountEM.EOF
     CC = RSCountEM![EmID]
     RSGhiab.AddNew
     RSGhiab![FEmpID] = CC
     RSGhiab![FDate] = Date
     RSGhiab![Ftime] = Time
     RSGhiab![Fday] = Format(Date, "dddd")
     RSGhiab![EReson] = ""
        ..........غياب ......     RSGhiab![ECase] = 0
     RSGhiab![ECovr] = 0
     RSGhiab![Enots] = ""
   RSCountEM.MoveNext
   RSGhiab.MoveNext
   
   Loop
msgbox"تمت التهيئة"

Else
   
   MsgBox "لم تتم التهيئة"
   
End If

End If
End Sub 
اعز معلمين :
1) Ahmed _Mansoor
2) sniper.ps 
3) myalsailamy
4) ahmedabdelaliem 
5) sendbad100
6)Amir_alzubidy

الرد }}}
تم الشكر بواسطة: Ahmed_Mansoor , elgokr , elgokr , Amir_Alzubidy
#23
أهلا بك أخي الكريم , هذا تعديل بسيط على كود الإجراء :

PHP كود :
Public Sub CountEM()

If 
RSGhiab.State adStateOpen Then RSGhiab.Close

RSGhiab
.Open "SELECT * FROM falowTB where ECase=0 And FDate=#" Format(Date"mm/dd/yyyy") & "#"DbadOpenStaticadLockPessimistic

If RSGhiab.RecordCount 0 Then
   
   
If RSGhiab.State adStateOpen Then RSGhiab.Close
   MsgBox 
"لقد تمت التهيئة مسبقاً"
   
Exit Sub
   
Else

   If 
RSCountEM.State adStateOpen Then RSCountEM.Close
   
   RSCountEM
.Open "SELECT EmID FROM EmpTB"DbadOpenStaticadLockPessimistic

   
If RSCountEM.RecordCount 0 Then
   
      RSCountEM
.MoveFirst
   
      
Do While Not RSCountEM.EOF
         RSGhiab
.AddNew
         RSGhiab
![FEmpID] = RSCountEM![EmID]
         
RSGhiab![FDate] = Format(Date"mm/dd/yyyy")
         
RSGhiab![Ftime] = Format(Time"HH:MM:SS AM/PM")
         
RSGhiab![Fday] = Format(Date"dddd")
         
RSGhiab![EReson] = ""
         
RSGhiab![ECase] = 0
         RSGhiab
![ECovr] = 0
         RSGhiab
![Enots] = ""
         
RSGhiab.Update
         DoEvents
         RSCountEM
.MoveNext
      Loop
   
      MsgBox 
"تمت التهيئة"

   
Else
   
      
MsgBox "لم تتم التهيئة, لم يتم العثور على موظفين مسجلين!"
   
   
End If

   If 
RSGhiab.State adStateOpen Then RSGhiab.Close
   
If RSCountEM.State adStateOpen Then RSCountEM.Close

End 
If

End Sub 
كود :
For Each Breathe in MyLife
Breathe.Say " سبحان الله والحمد لله ولا إله إلا الله والله أكبر أستغر الله العظيم وأتوب إليه"
Next
الرد }}}
تم الشكر بواسطة: elgokr , elgokr , Amir_Alzubidy , Amir_Alzubidy
#24
شكراً اخي احمد منصور على التعديل 
جزاك الله خير جعله الله في ميزان حسناتك ياغالي 

التعديل شغال 100% 

احترمك

اخي الغالي عند عمل تهئية الغياب في تاريخ اليوم يتم بشكل 100%

اما إذا قمت زيادة تاريخ الجهاز بيوم يقوم بعمل غياب في كل مرة يتم تشغيل للواجهة 

ماهي المشكلة


الملفات المرفقة
.rar   test.rar (الحجم : 343.44 ك ب / التحميلات : 20)
اعز معلمين :
1) Ahmed _Mansoor
2) sniper.ps 
3) myalsailamy
4) ahmedabdelaliem 
5) sendbad100
6)Amir_alzubidy

الرد }}}
تم الشكر بواسطة: elgokr , Ahmed_Mansoor , Amir_Alzubidy
#25
أهلا بك أخي الكريم ، السبب في ذلك أن كود الإجراء يعتمد على تاريخ الجهاز حيث أنك عندما تستخدم كلمة Date في الكود فهذا يعني تاريخ الجهاز الحالي إذا كنت تريد أن لا يرتبط التاريخ في الكود بتاريخ الجهاز فيجب أن تمرر التاريخ الذي تريده إلى كود الأجراء ، لم أفهم لماذا تزيد تاريخ الجهاز بيوم زيادة ما الغرض من ذلك يبدو أنك تريد شيئاً ما لم أفهمه فلو توضح بشكل أكثر ماتريده بالضبط يكون أفضل .
كود :
For Each Breathe in MyLife
Breathe.Say " سبحان الله والحمد لله ولا إله إلا الله والله أكبر أستغر الله العظيم وأتوب إليه"
Next
الرد }}}
تم الشكر بواسطة: awidan76 , elgokr , Amir_Alzubidy , Amir_Alzubidy
#26
نعم اخي اردت من ذلك ان يقوم البرنامج في كل يوم جديد بعمل غياب لكل الموظفين  ويتم تحضير الحاضرين فقط ( الذين حضروا الدوام فعلا) بتحضيرهم يدويا   بدلا من تحضير وتغييب كل الموظفين في كل يوم 

اما من ناحية التجربة قمت  بتغيير تاريخ الجهاز باضافة يوم اردت التاكد هل سيقوم بنفس العمليه ام لا ( هل ستحصل اخطاء)
فتفاجئت بانه يتم تغييبهم مرة تلو المرة مع تكرار التاريخ 
حيث انه لا يمكن تغييب الموظف اكثر من مرة في نفس التاريخ

وانا كنت حابب ان يقوم البرنامج بتغييبهم مرة كل يوم جديد فقط  واقوم بتحضير الحاضرين فقط 
واليوم التالي يقوم بتغييبهم واقوم بتحضير الحاضرين وهكذا 


جزاك الله خيرا
اعز معلمين :
1) Ahmed _Mansoor
2) sniper.ps 
3) myalsailamy
4) ahmedabdelaliem 
5) sendbad100
6)Amir_alzubidy

الرد }}}
تم الشكر بواسطة: elgokr , elgokr , Amir_Alzubidy , Amir_Alzubidy
#27
أهلا أخي الكريم , أعتقد الأن وضحت الفكرة , إذا السبب الذي أدى للمشكلة هو وضع حقل ECase في شرط جملة الإستعلام لذلك إن شاء الله بإزالته تنحل المشكلة , فسيكون كود الإجراء بعد التغيير هكذا :

PHP كود :
Public Sub CountEM()

If 
RSGhiab.State adStateOpen Then RSGhiab.Close

RSGhiab
.Open "SELECT * FROM falowTB where FDate=#" Format(Date"mm/dd/yyyy") & "#"DbadOpenStaticadLockPessimistic

If RSGhiab.RecordCount 0 Then
   
   
If RSGhiab.State adStateOpen Then RSGhiab.Close
   MsgBox 
"لقد تمت التهيئة مسبقاً"
   
Exit Sub
   
Else

   If 
RSCountEM.State adStateOpen Then RSCountEM.Close
   
   RSCountEM
.Open "SELECT EmID FROM EmpTB"DbadOpenStaticadLockPessimistic

   
If RSCountEM.RecordCount 0 Then
   
      RSCountEM
.MoveFirst
   
      
Do While Not RSCountEM.EOF
         RSGhiab
.AddNew
         RSGhiab
![FEmpID] = RSCountEM![EmID]
         
RSGhiab![FDate] = Format(Date"mm/dd/yyyy")
         
RSGhiab![Ftime] = Format(Time"HH:MM:SS AM/PM")
         
RSGhiab![Fday] = Format(Date"dddd")
         
RSGhiab![EReson] = ""
         
RSGhiab![ECase] = 0
         RSGhiab
![ECovr] = 0
         RSGhiab
![Enots] = ""
         
RSGhiab.Update
         DoEvents
         RSCountEM
.MoveNext
      Loop
   
      MsgBox 
"تمت التهيئة"

   
Else
   
      
MsgBox "لم تتم التهيئة, لم يتم العثور على موظفين مسجلين!"
   
   
End If

   If 
RSGhiab.State adStateOpen Then RSGhiab.Close
   
If RSCountEM.State adStateOpen Then RSCountEM.Close

End 
If

End Sub 
كود :
For Each Breathe in MyLife
Breathe.Say " سبحان الله والحمد لله ولا إله إلا الله والله أكبر أستغر الله العظيم وأتوب إليه"
Next
الرد }}}
تم الشكر بواسطة: awidan76 , elgokr , Amir_Alzubidy
#28
اخي الغالي احمد منصور 
المشكلة نفسها 
بس حسيت بشي جعلني اغير صيغة التاريخ عند الحفظ الى dd/mm/yyyy 
فأشتغل الكود بشكل ممتاز 
ربما حصل تضارب بين صيغة التاريخ  لان نفس الجدول مفتوح ونفس الصيغة تم الاستعلام عنها  ههههه والله اعلم  


 RSGhiab![FDate] = Format(Date, "dd/mm/yyyy")


جزاك الله خير اخي الكريم احمد منصور 
احترمك واحبك في الله اخي 
اعز معلمين :
1) Ahmed _Mansoor
2) sniper.ps 
3) myalsailamy
4) ahmedabdelaliem 
5) sendbad100
6)Amir_alzubidy

الرد }}}
تم الشكر بواسطة: Ahmed_Mansoor , elgokr , Amir_Alzubidy
#29
أهلا بك أخي ، الحمدلله إن الأمور ضبطت معك ، لو لم تحل المشكله لكان أول ما أفحصه هو تنسيق التاريخ ومشاكله ، الله يعطيك العافيه .
كود :
For Each Breathe in MyLife
Breathe.Say " سبحان الله والحمد لله ولا إله إلا الله والله أكبر أستغر الله العظيم وأتوب إليه"
Next
الرد }}}
تم الشكر بواسطة: awidan76 , elgokr , Amir_Alzubidy
#30
شكرا لك اخي الغالي ماقصرت معي 
واسف طلباتي كانت كثيرة 
شكراً جزيلا على صبرك معاملتك الطيبة لي 
أحترمك
اعز معلمين :
1) Ahmed _Mansoor
2) sniper.ps 
3) myalsailamy
4) ahmedabdelaliem 
5) sendbad100
6)Amir_alzubidy

الرد }}}
تم الشكر بواسطة: elgokr , elgokr , Amir_Alzubidy


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [سؤال] برنامج تنبيه صوتي ويندوز 10 aboezzat84 0 89 07-01-24, 06:46 PM
آخر رد: aboezzat84
  برنامج VB6 النسخة الفرنسية كاملة الخير طهوري 7 12,014 02-01-24, 06:55 PM
آخر رد: الخير19
  [vb6.0] ريد كود طيع التقرير نسختين علماً انني استخدم برنامج Active Report ؟ Microformt 2 361 12-11-23, 05:05 PM
آخر رد: Microformt
Question [vb6.0] عندي مشكلة في هذا الكود حيث انه لا يقبل الا رقم فقط اريد ان يقبل الارقام والاحرف ؟ Microformt 1 276 25-10-23, 04:10 PM
آخر رد: Amir_Alzubidy
Question [vb6.0] نامل المساعدة في المثال المرفق يوجد مشكلة في إضافة رقم الصنف الى قاعدة البيانات لا اع Microformt 1 241 23-10-23, 12:11 AM
آخر رد: Taha Okla
  السلام عليكم اخوانى واحبابى اساتذتى الكرام مشكلة out of memory mhareek 2 277 12-10-23, 01:40 PM
آخر رد: Taha Okla
  رسالة خطأ تظهر لي ما الحل؟ Alhootti1 3 320 28-08-23, 02:11 PM
آخر رد: ahmedabdelaliem
  [سؤال] انا اواجه مشكلة عند قيامي بتكوين ملف ال exe hasgaeb 2 355 05-08-23, 01:29 PM
آخر رد: hasgaeb
  [سؤال] ماهو سبب خروج هذه الرسالة كما في الصورة المرفقة عند تشغيل برنامج الفيجوال بيسك6 وادي العوضي 3 505 24-07-23, 11:50 PM
آخر رد: وادي العوضي
  خطاء في الاضافة كيف الحل 0 114 10-05-23, 10:44 AM
آخر رد: allobaed

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم