تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] مساعدة في عرض جملة sql
#1
السلام عليكم

لدي جدول كالتالي :  جدول حضور وانصراف

رقم الموظق  - تاريخ دق البصمة - الوقت - الحالة  ( 01  دخول  03  خروج ) 


مثال بيانات  كالتالي

 100 - 01/02/205 - 13:25 - 01
100 - 01/02/2015 -  23:36 -03
100 - 05/03/2015 -  11:25 - 01
100 - 05/03/2015 - 17:55 - 03

المطلوب عرض   الموظف رقم  100  مثلا  الخروج والدخول لنفس اليوم  في سطر واحد  كالتالي

100 - 01/02/2015  - 13:25  - 23:36  - 01 - 03
100 - 05/03/2015 - 11:25 - 17:55  - 01 - 03

 ضروري  وشكرا  على المساعدة
الرد }}}
تم الشكر بواسطة: الضمير المستتر
#2
Wink 
اخي الكريم ,, عادة يقوم الموظف بوضع بصمته اكثر من عشرين مرة اذا كان من هواه وعشاق سماع صوت الماكنة , Tongue
لذا عليك عمل فلترة على الموظفين .
PHP كود :
 SELECT DISTINCT Name 

ثم البحث بين تاريخين ..
ثم عرض الوقت فقط . من الاصغر الى الاكبر

ارفع الملف وسوف اقوم بعمل واجهة الفلترة .
الرد }}}
تم الشكر بواسطة: الضمير المستتر
#3
(15-11-15, 11:28 AM)alzmohammed كتب : السلام عليكم

لدي جدول كالتالي :  جدول حضور وانصراف

رقم الموظق  - تاريخ دق البصمة - الوقت - الحالة  ( 01  دخول  03  خروج ) 


مثال بيانات  كالتالي

 100 - 01/02/205 - 13:25 - 01
100 - 01/02/2015 -  23:36 -03
100 - 05/03/2015 -  11:25 - 01
100 - 05/03/2015 - 17:55 - 03

المطلوب عرض   الموظف رقم  100  مثلا  الخروج والدخول لنفس اليوم  في سطر واحد  كالتالي

100 - 01/02/2015  - 13:25  - 23:36  - 01 - 03
100 - 05/03/2015 - 11:25 - 17:55  - 01 - 03

 ضروري  وشكرا  على المساعدة

وعليكم السلام

اسم الجدول Table1
حقل رقم الموظف a1
حقل التاريخ a2
حقل وقت الدخول + وقت الخروج a3
حقل الحالة للدخول + الحالة للخروج a4

AS COMMING = وقت الدخول
AS OUT = وقت الخروج
AS STATE1 = الحالة للدخول
AS STATE2 = الحالة للخروج


كود :
SELECT Table1.a1 , Table1.a2, First(Table1.a3) AS COMMING , Last(Table1.a3) AS OUT , First(Table1.a4) AS STATE1, Last(Table1.a4) AS STATE2 
FROM Table1
WHERE (((Table1.a2)="01/02/2015"))
GROUP BY Table1.a1, Table1.a2;
تمت التجربة بنجاح
الرد }}}
تم الشكر بواسطة: الضمير المستتر
#4
شكرا على الردود  

الاخ حريف برمجة  الكود الذي وضعتة    استخدمت اي اصدار من sql server   علما بأن  المطلوب على      
   sql server 2000
دالة first  last  غير مدعومة    الضاهر عاملة على الاكسيس
الرد }}}
تم الشكر بواسطة:
#5
السلام عليكم ورحمة الله

أخي محمد

ما اسم الجدول واسماء الأعمدة وأنواعها؟
الرد }}}
تم الشكر بواسطة:
#6
اسم الجدول - punch
رقم الموظف - empcode nvarchar
حقل تااريخ empdate
حقل وقت emptime
حقل حاله tacode intger

ويكون كالتالي empcode - empdate - emptime - tacode ويعتبر سجل او حركة حظور اما دخول او خروج لموظف بتاريخ معين

مثل الموظف رقمة 100 عمل حركة دخول بتاريخ 01/01/2015 الساعة 13:45 وتمثل بسجل او سطر في قاعدة البيانات
100 -01/01/2015 - 13:45 - 01

الموظف رقمة 100 عمل حركة خروج بتاريخ 01/01/2015 الساعة 23:10 وتمثل بسجل او سطر في قاعدة البيانات
100 - 01/01/2015 - 23:10 - 03

بعتبار حالة الدخول 01 والخروج 03

المطلوب او الفكرة كيف جعل كالتالي 100 - 01/01/2015 - 13:45 - 23:10 - 01 - 03 في الاستعلام ياخذ لنفس التاريخ وهكذا لبقية الايام
الرد }}}
تم الشكر بواسطة: الضمير المستتر
#7
السلام عليكم ورحمة الله

أخي محمد

الكود التالي سيظهر لك تماماً ما طلبت
PHP كود :
Private Sub Button1_Click(ByVal sender As System.ObjectByVal e As System.EventArgsHandles Button1.Click
    MsgBox
(getEmployeeReport(100))
End Sub


Function getEmployeeReport(ByVal employeeID As Integer) As String

    Dim sb 
As New System.Text.StringBuilder

    Dim dataContext 
As New DataClasses1DataContext
    Dim days 
=
        
From x In dataContext.punches
        Where x
.empcode employeeID
        Group By x
.empcodex.empdate
        Into grp 
GroupCount()

    For 
Each d In days

        Dim time 
As New List(Of String)
        
Dim mode As New List(Of String)

        For 
Each g In d.grp
            time
.Add(DateTime.Parse(g.emptime.Value.ToString()).ToString("HH:mm"))
            
mode.Add(Val(g.tacode).ToString("00"))
        
Next

        sb
.AppendLine(
            
String.Concat(
                
d.empcode" - "DateTime.Parse(d.empdate.ToString).ToString("dd/MM/yyyy"),
                
" - ",
                
String.Join(" - "time.ToArray), " - "String.Join(" - "mode.ToArray)
                )
            )
    
Next

    
Return sb.ToString

End 
Function 

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

أخي محمد

لمعرفة كيف يعمل الكود عليك بتعلم LinqToSql عن طريق دروس الأستاذ خضر:
الدرس الأول : Linq To SQL
الدرس الثاني : Linq To SQL
الدرس الثالث : Linq To SQL
الدرس الرابع : Linq To SQL

لا تقلق من LinqToSql فهي سهلة جداً، فقط إبدأ...
الرد }}}
تم الشكر بواسطة: الضمير المستتر
#8
(15-11-15, 08:39 PM)alzmohammed كتب : شكرا على الردود  

الاخ حريف برمجة  الكود الذي وضعتة    استخدمت اي اصدار من sql server   علما بأن  المطلوب على      
   sql server 2000
دالة first  last  غير مدعومة    الضاهر عاملة على الاكسيس

انت لم تحدد نوع قاعدة البيانات فتوقعت اكسس ،، حصل خير

هذا الكود للاسكيوال سيرفر

كود :
SELECT        empcode, empdate, MIN(emptime) AS Expr1, MAX(emptime) AS Expr3, MIN(tacode) AS Expr2, MAX(tacode) AS Expr4
FROM            punch
WHERE        (empdate = N'01/02/2015')
GROUP BY empcode, empdate
الرد }}}
تم الشكر بواسطة: الضمير المستتر
#9
شكرا للاعضاء الكرام على سرعة الرد والتفاعل وسوف اجرب الاكواد المطروحة
الرد }}}
تم الشكر بواسطة: الضمير المستتر
#10
السلام عليكم ورحمة الله

أخي محمد

ما ذكره أخي الأستاذ خضر صحيح، لو كان لا يتم تسجيل أكثر من دخول وخروج واحد في اليوم.

أخي الأستاذ خضر، أعتقد أكثر التعامل في أجهزة الحضور والإنصراف تتم باعتماد سطر مستقل في كل عملية تتم، تحسبا لخروج الشخص لمده قصيرة ثم العودة في نفس اليوم.

وكنت قد أعددت كود على أساس عمود واحد يشمل التاريخ والوقت، ولكني أضطررت لتغييره عندما وجدت أخي محمد قد وضع عمود خاص بالتاريخ وعمود خاص بالوقت.
الرد }}}
تم الشكر بواسطة: khodor1985 , khodor1985


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [VB.NET] جملة اتصال بملف اكسيل ٢٠٠٣ بكلمة مرور Mr.H 0 33 اليوم, 01:07 AM
آخر رد: Mr.H
  [VB.NET] مساعدة في تقرير mrfenix93 1 41 24-03-24, 10:29 PM
آخر رد: mrfenix93
  مساعدة jalaltech 1 95 07-03-24, 07:38 PM
آخر رد: قناص المدينة
  [VB.NET] مساعدة فى كود فاتورة اللكترونية asdfar1977 2 194 02-03-24, 02:00 AM
آخر رد: asdfar1977
  مساعدة فى كود فاتورة الكترونية asdfar1977 0 79 29-02-24, 07:14 PM
آخر رد: asdfar1977
  مساعدة jalaltech 0 133 17-02-24, 02:15 AM
آخر رد: jalaltech
  طلب مساعدة AHMED213 3 323 06-02-24, 09:39 PM
آخر رد: AHMED213
  [VB.NET] طلب مساعدة AHMED213 0 221 31-01-24, 12:56 AM
آخر رد: AHMED213
  طلب مساعدة بخصوص كود الطباعة paveldida 2 461 19-01-24, 12:00 AM
آخر رد: العتيق
  [VB.NET] مساعدة في استدعاء البيانات معينه من form الأول إلى form 2 بدون التعديل loay775 2 274 18-01-24, 05:04 PM
آخر رد: loay775

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


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