08-02-18, 03:27 PM
السلام عليكم ورحمة الله وبركاتة أخواني وأخواتى
أرجوا الافادة فى أي حدث أضع كود الاستعلام عن باركود موظف
مع ملاحظة الاتى
1- أنا أستعلم من جدول الموظفين عن كود الموظف وعن اسمه
2- أقوم بعمليات أخرى على الفورم وأضع ناتج العمليات الاخرى
في listview بعد الاستعلام عن موظف بالتوالى
المشكلة عندى هى أنني عندما أقوم بوضع الكود فى حدث textchanged
تحدث مشكلة وهى أى حركة فى هذا الحدث تنتج ازدواجية فى التسجيل
فهل المشكلة فى الحدث أم الباركود ساضع لكم كود الاستعلام مع صور للتوضيح
لكي تعلموني أين المشكلة.
If Len(Trim(CmbWTime.Text)) = 0 Then
MessageBox.Show("من فضلك حدد فترة الدوام", "منظومة الدمرداش المدرسية", MessageBoxButtons.OK, MessageBoxIcon.Warning)
CmbWTime.Focus()
Exit Sub
End If
con = New SqlConnection(cs)
con.Open()
Dim strQ As String = String.Empty
Dim cmd0 As SqlCommand
Dim da As SqlDataAdapter
Dim ds As DataSet
strQ = " Select EmpCode,EmpName from Employees where EmpCode='" + TxtCode.Text + "'"
cmd0 = New SqlCommand(strQ, con)
da = New SqlDataAdapter(cmd0)
ds = New DataSet
da.Fill(ds, "Employees")
If ds.Tables(0).Rows.Count > 0 Then
txtEmpCode.Text = ds.Tables(0).Rows(0)("EmpCode").ToString()
TxtEmpName.Text = ds.Tables(0).Rows(0)("EmpName").ToString()
End If
If TeMAL.Text = "لم يبدأ الدوام" Then
Exit Sub
ElseIf TeMAL.Text = "حضـر الموظف" Then
'كود الإضافة إلى الليست فيو
Dim temp As Integer
temp = ListView1.Items.Count()
If temp = 0 Then
Dim i As Integer
Dim lst As New ListViewItem(i)
lst.SubItems.Add(txtEmpCode.Text) 'كود الموظف
lst.SubItems.Add(TxtEmpName.Text) 'اسم الموظف
lst.SubItems.Add(Label9.Text) 'وقت الحضور
lst.SubItems.Add("بالدوام") 'وقت الإنصراف
lst.SubItems.Add(TeMAL.Text) 'حالة الموظف
lst.SubItems.Add(Label5.Text) ' تاريخ الحضور
lst.SubItems.Add(Label8.Text) ' يوم الحضور
lst.SubItems.Add(CmbWTime.Text) ' فترة الحضور
lst.SubItems.Add(RichTextBox1.Text) ' ملاحظات
lst.SubItems.Add("حضر بالميعاد") ' حالة الغياب
lst.SubItems.Add(LateTime.Text) ' معدل التأخير
ListView1.Items.Add(lst)
i = i + 1
TxtCode.SelectAll()
txtEmpCode.Text = ""
TxtEmpName.Text = ""
Exit Sub
End If
For j = 0 To temp - 1
If (ListView1.Items(j).SubItems(1).Text = txtEmpCode.Text) And (ListView1.Items(j).SubItems(6).Text = Label5.Text) Then
If MessageBox.Show("هذا الموظف لايمكن تسجيلة مرتين", "منظومة الدمرداش المدرسية", MessageBoxButtons.OK, MessageBoxIcon.Error) = DialogResult.OK Then
TxtCode.Clear()
TxtCode.Focus()
End If
Exit Sub
End If
Next j
Dim k As Integer
Dim lst1 As New ListViewItem(k)
lst1.SubItems.Add(txtEmpCode.Text) 'كود الموظف
lst1.SubItems.Add(TxtEmpName.Text) 'اسم الموظف
lst1.SubItems.Add(Label9.Text) 'وقت الحضور
lst1.SubItems.Add("بالدوام") 'وقت الإنصراف
lst1.SubItems.Add(TeMAL.Text) 'حالة الموظف
lst1.SubItems.Add(Label5.Text) ' تاريخ الحضور
lst1.SubItems.Add(Label8.Text) ' يوم الحضور
lst1.SubItems.Add(CmbWTime.Text) ' فترة الحضور
lst1.SubItems.Add(RichTextBox1.Text) ' ملاحظات
lst1.SubItems.Add("حضر بالميعاد") ' حالة الغياب
lst1.SubItems.Add(LateTime.Text) ' معدل التأخير
ListView1.Items.Add(lst1)
k = k + 1
TxtCode.SelectAll()
txtEmpCode.Text = ""
TxtEmpName.Text = ""
ElseIf TeMAL.Text = "تأخر الموظف" Then
'كود الإضافة إلى الليست فيو
Dim temp As Integer
temp = ListView1.Items.Count()
If temp = 0 Then
Dim i As Integer
Dim lst As New ListViewItem(i)
lst.SubItems.Add(txtEmpCode.Text) 'كود الموظف
lst.SubItems.Add(TxtEmpName.Text) 'اسم الموظف
lst.SubItems.Add(Label9.Text) 'وقت الحضور
lst.SubItems.Add("بالدوام") 'وقت الإنصراف
lst.SubItems.Add(TeMAL.Text) 'حالة الموظف
lst.SubItems.Add(Label5.Text) ' تاريخ الحضور
lst.SubItems.Add(Label8.Text) ' يوم الحضور
lst.SubItems.Add(CmbWTime.Text) ' فترة الحضور
lst.SubItems.Add(RichTextBox1.Text) ' ملاحظات
lst.SubItems.Add("حضر متأخرا") ' حالة الغياب
lst.SubItems.Add(LateTime.Text) ' معدل التأخير
ListView1.Items.Add(lst)
i = i + 1
TxtCode.SelectAll()
txtEmpCode.Text = ""
TxtEmpName.Text = ""
Exit Sub
End If
For j = 0 To temp - 1
If (ListView1.Items(j).SubItems(1).Text = txtEmpCode.Text) And (ListView1.Items(j).SubItems(6).Text = Label5.Text) Then
MessageBox.Show("هذا الموظف لايمكن تسجيلة مرتين", "منظومة الدمرداش المدرسية", MessageBoxButtons.OK, MessageBoxIcon.Error)
TxtCode.SelectAll()
Exit Sub
End If
Next j
Dim k As Integer
Dim lst1 As New ListViewItem(k)
lst1.SubItems.Add(txtEmpCode.Text) 'كود الموظف
lst1.SubItems.Add(TxtEmpName.Text) 'اسم الموظف
lst1.SubItems.Add(Label9.Text) 'وقت الحضور
lst1.SubItems.Add("بالدوام") 'وقت الإنصراف
lst1.SubItems.Add(TeMAL.Text) 'حالة الموظف
lst1.SubItems.Add(Label5.Text) ' تاريخ الحضور
lst1.SubItems.Add(Label8.Text) ' يوم الحضور
lst1.SubItems.Add(CmbWTime.Text) ' فترة الحضور
lst1.SubItems.Add(RichTextBox1.Text) ' ملاحظات
lst1.SubItems.Add("حضر متأخرا") ' حالة الغياب
lst1.SubItems.Add(LateTime.Text) ' معدل التأخير
ListView1.Items.Add(lst1)
k = k + 1
TxtCode.SelectAll()
txtEmpCode.Text = ""
TxtEmpName.Text = ""
ElseIf TeMAL.Text = "إنتهى الدوام" Then
Exit Sub
End If
TxtCode.Clear()
TxtCode.Focus()
أرجوا الافادة فى أي حدث أضع كود الاستعلام عن باركود موظف
مع ملاحظة الاتى
1- أنا أستعلم من جدول الموظفين عن كود الموظف وعن اسمه
2- أقوم بعمليات أخرى على الفورم وأضع ناتج العمليات الاخرى
في listview بعد الاستعلام عن موظف بالتوالى
المشكلة عندى هى أنني عندما أقوم بوضع الكود فى حدث textchanged
تحدث مشكلة وهى أى حركة فى هذا الحدث تنتج ازدواجية فى التسجيل
فهل المشكلة فى الحدث أم الباركود ساضع لكم كود الاستعلام مع صور للتوضيح
لكي تعلموني أين المشكلة.
If Len(Trim(CmbWTime.Text)) = 0 Then
MessageBox.Show("من فضلك حدد فترة الدوام", "منظومة الدمرداش المدرسية", MessageBoxButtons.OK, MessageBoxIcon.Warning)
CmbWTime.Focus()
Exit Sub
End If
con = New SqlConnection(cs)
con.Open()
Dim strQ As String = String.Empty
Dim cmd0 As SqlCommand
Dim da As SqlDataAdapter
Dim ds As DataSet
strQ = " Select EmpCode,EmpName from Employees where EmpCode='" + TxtCode.Text + "'"
cmd0 = New SqlCommand(strQ, con)
da = New SqlDataAdapter(cmd0)
ds = New DataSet
da.Fill(ds, "Employees")
If ds.Tables(0).Rows.Count > 0 Then
txtEmpCode.Text = ds.Tables(0).Rows(0)("EmpCode").ToString()
TxtEmpName.Text = ds.Tables(0).Rows(0)("EmpName").ToString()
End If
If TeMAL.Text = "لم يبدأ الدوام" Then
Exit Sub
ElseIf TeMAL.Text = "حضـر الموظف" Then
'كود الإضافة إلى الليست فيو
Dim temp As Integer
temp = ListView1.Items.Count()
If temp = 0 Then
Dim i As Integer
Dim lst As New ListViewItem(i)
lst.SubItems.Add(txtEmpCode.Text) 'كود الموظف
lst.SubItems.Add(TxtEmpName.Text) 'اسم الموظف
lst.SubItems.Add(Label9.Text) 'وقت الحضور
lst.SubItems.Add("بالدوام") 'وقت الإنصراف
lst.SubItems.Add(TeMAL.Text) 'حالة الموظف
lst.SubItems.Add(Label5.Text) ' تاريخ الحضور
lst.SubItems.Add(Label8.Text) ' يوم الحضور
lst.SubItems.Add(CmbWTime.Text) ' فترة الحضور
lst.SubItems.Add(RichTextBox1.Text) ' ملاحظات
lst.SubItems.Add("حضر بالميعاد") ' حالة الغياب
lst.SubItems.Add(LateTime.Text) ' معدل التأخير
ListView1.Items.Add(lst)
i = i + 1
TxtCode.SelectAll()
txtEmpCode.Text = ""
TxtEmpName.Text = ""
Exit Sub
End If
For j = 0 To temp - 1
If (ListView1.Items(j).SubItems(1).Text = txtEmpCode.Text) And (ListView1.Items(j).SubItems(6).Text = Label5.Text) Then
If MessageBox.Show("هذا الموظف لايمكن تسجيلة مرتين", "منظومة الدمرداش المدرسية", MessageBoxButtons.OK, MessageBoxIcon.Error) = DialogResult.OK Then
TxtCode.Clear()
TxtCode.Focus()
End If
Exit Sub
End If
Next j
Dim k As Integer
Dim lst1 As New ListViewItem(k)
lst1.SubItems.Add(txtEmpCode.Text) 'كود الموظف
lst1.SubItems.Add(TxtEmpName.Text) 'اسم الموظف
lst1.SubItems.Add(Label9.Text) 'وقت الحضور
lst1.SubItems.Add("بالدوام") 'وقت الإنصراف
lst1.SubItems.Add(TeMAL.Text) 'حالة الموظف
lst1.SubItems.Add(Label5.Text) ' تاريخ الحضور
lst1.SubItems.Add(Label8.Text) ' يوم الحضور
lst1.SubItems.Add(CmbWTime.Text) ' فترة الحضور
lst1.SubItems.Add(RichTextBox1.Text) ' ملاحظات
lst1.SubItems.Add("حضر بالميعاد") ' حالة الغياب
lst1.SubItems.Add(LateTime.Text) ' معدل التأخير
ListView1.Items.Add(lst1)
k = k + 1
TxtCode.SelectAll()
txtEmpCode.Text = ""
TxtEmpName.Text = ""
ElseIf TeMAL.Text = "تأخر الموظف" Then
'كود الإضافة إلى الليست فيو
Dim temp As Integer
temp = ListView1.Items.Count()
If temp = 0 Then
Dim i As Integer
Dim lst As New ListViewItem(i)
lst.SubItems.Add(txtEmpCode.Text) 'كود الموظف
lst.SubItems.Add(TxtEmpName.Text) 'اسم الموظف
lst.SubItems.Add(Label9.Text) 'وقت الحضور
lst.SubItems.Add("بالدوام") 'وقت الإنصراف
lst.SubItems.Add(TeMAL.Text) 'حالة الموظف
lst.SubItems.Add(Label5.Text) ' تاريخ الحضور
lst.SubItems.Add(Label8.Text) ' يوم الحضور
lst.SubItems.Add(CmbWTime.Text) ' فترة الحضور
lst.SubItems.Add(RichTextBox1.Text) ' ملاحظات
lst.SubItems.Add("حضر متأخرا") ' حالة الغياب
lst.SubItems.Add(LateTime.Text) ' معدل التأخير
ListView1.Items.Add(lst)
i = i + 1
TxtCode.SelectAll()
txtEmpCode.Text = ""
TxtEmpName.Text = ""
Exit Sub
End If
For j = 0 To temp - 1
If (ListView1.Items(j).SubItems(1).Text = txtEmpCode.Text) And (ListView1.Items(j).SubItems(6).Text = Label5.Text) Then
MessageBox.Show("هذا الموظف لايمكن تسجيلة مرتين", "منظومة الدمرداش المدرسية", MessageBoxButtons.OK, MessageBoxIcon.Error)
TxtCode.SelectAll()
Exit Sub
End If
Next j
Dim k As Integer
Dim lst1 As New ListViewItem(k)
lst1.SubItems.Add(txtEmpCode.Text) 'كود الموظف
lst1.SubItems.Add(TxtEmpName.Text) 'اسم الموظف
lst1.SubItems.Add(Label9.Text) 'وقت الحضور
lst1.SubItems.Add("بالدوام") 'وقت الإنصراف
lst1.SubItems.Add(TeMAL.Text) 'حالة الموظف
lst1.SubItems.Add(Label5.Text) ' تاريخ الحضور
lst1.SubItems.Add(Label8.Text) ' يوم الحضور
lst1.SubItems.Add(CmbWTime.Text) ' فترة الحضور
lst1.SubItems.Add(RichTextBox1.Text) ' ملاحظات
lst1.SubItems.Add("حضر متأخرا") ' حالة الغياب
lst1.SubItems.Add(LateTime.Text) ' معدل التأخير
ListView1.Items.Add(lst1)
k = k + 1
TxtCode.SelectAll()
txtEmpCode.Text = ""
TxtEmpName.Text = ""
ElseIf TeMAL.Text = "إنتهى الدوام" Then
Exit Sub
End If
TxtCode.Clear()
TxtCode.Focus()