22-06-20, 01:09 AM
السلام عليكم اخي عبدالله
اشكرك على اهتمامك بعملك
كتبت لك الكود ولكن لم يخطر ببالي اننا في جملة التعديل قد نغير في الاسم وهذا امر وارد او ربما نغير الشارة
لذلك غيرت قليلا في الكود بحيث تظهر رسالة تخبرك بوجود سجل يحمل الشارة نفسها سواء السجل نفسه او غيره وتطلب الموافقة على المتابعة لبتم التعديل او الحفظ
او الخروج من الاجراء شيء أخر كنت قد نسيت وهو اني اضفت لايبل Lbl_id وكنت قد استخدمته في الكود كمربع نص انتبهت لهذا الخطأ وخطأ صغير أخر متعلق بكود الحفظ مع باراميتر ال ID
المهم استبدل هذه الاكواد فقط وسيعمل معك باذن الله
الفنكشن اصبح هكذا
صب الحفظ
كود بوتون الحفظ
صب التعديل
بوتون التعديل
اشكرك على اهتمامك بعملك
كتبت لك الكود ولكن لم يخطر ببالي اننا في جملة التعديل قد نغير في الاسم وهذا امر وارد او ربما نغير الشارة
لذلك غيرت قليلا في الكود بحيث تظهر رسالة تخبرك بوجود سجل يحمل الشارة نفسها سواء السجل نفسه او غيره وتطلب الموافقة على المتابعة لبتم التعديل او الحفظ
او الخروج من الاجراء شيء أخر كنت قد نسيت وهو اني اضفت لايبل Lbl_id وكنت قد استخدمته في الكود كمربع نص انتبهت لهذا الخطأ وخطأ صغير أخر متعلق بكود الحفظ مع باراميتر ال ID
المهم استبدل هذه الاكواد فقط وسيعمل معك باذن الله
الفنكشن اصبح هكذا
كود :
Public Function DetectedValue(tble As String, colum As String, txtCompar As TextBox) As Boolean
Dim detct As Boolean = False
Dim dts As New DataTable()
Try
dts.Clear()
da = New OleDbDataAdapter("select * From " & tble & " where " & colum & " = '" & txtCompar.Text.Trim & "'", Con)
da.Fill(dts)
If dts.Rows.Count > 0 Then
detct = True
Else
detct = False
End If
Catch ex As Exception
MessageBox.Show(ex.Message, "Alert", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
End Try
Return detct
End Functionكود :
Public Sub insert_User(ByVal FName As String, ByVal Shara As String)
' عندما يكون الاي دي ترقيم تلقائي لاندخل الاي دي في كود الحفظ هو يتولد تلقائيا
Dim cmd As New OleDbCommand("insert into tb1 ( FName,Shara) values( @FName,@Shara)", con)
cmd.Parameters.Add("@FName", OleDbType.VarChar).Value = FName
cmd.Parameters.Add("@Shara", OleDbType.VarChar).Value = Shara
con.Open()
cmd.ExecuteNonQuery()
con.Close()
End Subكود :
Private Sub btnAdd_Click(sender As Object, e As EventArgs) Handles btnAdd.Click
If txtName.Text = "" Then
MsgBox("قم بإدخال الإسم لإتمام عملية الإضافة", MsgBoxStyle.Information, "تنبيه")
Exit Sub
End If
If txtShara.Text = "" Then
MsgBox("قم بكتابة رقم الشارة لإتمام عملية الإضافة", MsgBoxStyle.Information, "تنبيه")
Exit Sub
End If
'---------------------------------
' التحقق من وجود سجل فيه نفس الشارة عبر الفنكشن التي ستبحث في الجدول وان وجدت ستعيد قيمة ترو
Try
If DetectedValue("tb1", "Shara", txtShara) = True Then ' التحقق من الحقل
If (MessageBox.Show("يوجد سجل يحمل القيمة هل تريد المتابعة؟", "Alert", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation)) = Windows.Forms.DialogResult.Yes Then
insert_User(txtName.Text, txtShara.Text)
FillDGV()
MsgBox("تمت عملية الإضافة بنجاح", MsgBoxStyle.Information, "الإضافة")
AllClear()
Else
txtShara.Focus()
Exit Sub
End If
Else
insert_User(txtName.Text, txtShara.Text)
FillDGV()
MsgBox("تمت عملية الإضافة بنجاح", MsgBoxStyle.Information, "الإضافة")
AllClear()
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Subكود :
Public Sub update_User(ByVal FName As String, ByVal Shara As String, ByVal id As Integer)
Dim cmd As New OleDbCommand("update tb1 set FName=@FName,Shara=@Shara where id=@id", con)
cmd.Parameters.Add("@FName", OleDbType.VarChar).Value = FName
cmd.Parameters.Add("@Shara", OleDbType.VarChar).Value = Shara
cmd.Parameters.Add("@id", OleDbType.Integer).Value = id
con.Open()
cmd.ExecuteNonQuery()
con.Close()
End Subكود :
Private Sub btnUpdate_Click(sender As Object, e As EventArgs) Handles btnUpdate.Click
Try
If DetectedValue("tb1", "Shara", txtShara) = True Then ' التحقق من الحقل
If (MessageBox.Show("يوجد سجل يحمل القيمة هل تريد المتابعة؟", "Alert", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation)) = Windows.Forms.DialogResult.Yes Then
update_User(txtName.Text, txtShara.Text, Lbl_Id.Text)
FillDGV()
MsgBox("تمت عملية التعديل بنجاح", MsgBoxStyle.Information, "التعديل")
AllClear()
Else
txtShara.Focus()
Exit Sub
End If
Else
update_User(txtName.Text, txtShara.Text, Lbl_Id.Text)
FillDGV()
MsgBox("تمت عملية التعديل بنجاح", MsgBoxStyle.Information, "التعديل")
AllClear()
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Subاعمل الخير وأجرك لا تنتظره فالله خير من إليك يرده
البرمجة ليست مجرد كود بل هي منهج تفكير منطقي لحل المشكلات
