08-11-19, 12:26 PM
السلام عليكم و رحمة الله و بركاته
أرجو المساعدة في تعديل هذا الكود ، عند اضافة كود مزيج من الاحرف و الارقام يقع خطأ ، صورة توضيحية : https://prnt.sc/pu3p5j
أرجو المساعدة في تعديل هذا الكود ، عند اضافة كود مزيج من الاحرف و الارقام يقع خطأ ، صورة توضيحية : https://prnt.sc/pu3p5j
كود :
Imports System.Data.OleDb
Module mdlItem
Dim cmd As New OleDbCommand
Public dtItem As New DataTable
Sub loadItem()
dtItem.Clear()
cmd = New OleDbCommand("select * from tblItems ", con)
con.Open()
dtItem.Load(cmd.ExecuteReader)
con.Close()
cmd = Nothing
End Sub
Public Sub InsertItem(ByVal code As String, ByVal name As String, ByVal price As Decimal, ByVal qtyStor As Double,
ByVal chira As Decimal)
cmd = New OleDbCommand("insert into tblItems (code, nam, price, qtystor, chira) values (@code, @nam, @price, @qtystor, @chira)", con)
cmd.Parameters.Add("@code", OleDbType.VarChar).Value = code
cmd.Parameters.Add("@nam", OleDbType.VarChar).Value = name
cmd.Parameters.Add("@price", OleDbType.Currency).Value = price
cmd.Parameters.Add("@qtystore", OleDbType.Double).Value = qtyStor
cmd.Parameters.Add("@chira", OleDbType.Currency).Value = chira
con.Open()
cmd.ExecuteNonQuery()
con.Close()
cmd = Nothing
End Sub
Public Sub UpdateItem(ByVal name As String, ByVal price As Decimal, ByVal qtystor As Double,
ByVal code As Integer, ByVal chira As Decimal)
cmd = New OleDbCommand("Update tblItems set nam=@nam, price=@price, qtyStor=@qtyStor, chira=@chira where code=" & code, con)
cmd.Parameters.Add("@nam", OleDbType.VarChar).Value = name
cmd.Parameters.Add("@price", OleDbType.Currency).Value = price
cmd.Parameters.Add("@qtystore", OleDbType.Double).Value = qtystor
cmd.Parameters.Add("@chira", OleDbType.Currency).Value = chira
con.Open()
cmd.ExecuteNonQuery()
con.Close()
cmd = Nothing
End Sub
Public Sub DeleteItem(ByVal code As String)
cmd = New OleDbCommand("delete from tblItems where code=@code", con)
cmd.Parameters.Add("@code", OleDbType.VarChar).Value = code
con.Open()
cmd.ExecuteNonQuery()
con.Close()
cmd = Nothing
End Sub
End Module
كود :
Imports System.Data.OleDb
Public Class frmItems
Dim da As OleDbDataAdapter
Dim cmdb As OleDbCommandBuilder
Sub actTXTitem()
txtCode.Enabled = True
txtName.Enabled = True
txtPrice.Enabled = True
txtQty.Enabled = True
txtchira.Enabled = True
txtCode.Focus()
End Sub
Sub desActTXTitem()
txtCode.Enabled = False
txtName.Enabled = False
txtPrice.Enabled = False
txtQty.Enabled = False
txtchira.Enabled = False
End Sub
Sub clearTXTitem()
txtCode.Clear()
txtName.Clear()
txtPrice.Clear()
txtQty.Clear()
txtchira.Clear()
End Sub
Private Sub frmItems_Load(sender As Object, e As EventArgs) Handles MyBase.Load
loadItem()
dgvItem.DataSource = dtItem
dgvItem.Columns(0).Width = 100
dgvItem.Columns(1).Width = 150
dgvItem.Columns(2).Width = 100
dgvItem.Columns(3).Width = 100
dgvItem.Columns(4).Width = 100
dgvItem.Columns(5).Width = 100
dgvItem.Columns(0).HeaderText = "الكود"
dgvItem.Columns(1).HeaderText = "الصنف"
dgvItem.Columns(2).HeaderText = "سعر البيع"
dgvItem.Columns(3).HeaderText = "سعر الشراء"
dgvItem.Columns(4).HeaderText = "الكمية المخزنة"
dgvItem.Columns(5).HeaderText = "الكمية المتبقية"
End Sub
Private Sub btnAdd_Click(sender As Object, e As EventArgs) Handles btnAdd.Click
clearTXTitem()
actTXTitem()
End Sub
Private Sub btnSave_Click(sender As Object, e As EventArgs) Handles btnSave.Click
If txtCode.Text = "" Or txtName.Text = "" Or txtPrice.Text = "" Or txtchira.Text = "" Or txtQty.Text = "" Then
MsgBox("أكمل الحقول الفارغة")
Exit Sub
End If
Try
If txtCode.Enabled = True Then
For i As Integer = 0 To dgvItem.Rows.Count - 1
If txtCode.Text = dgvItem.Rows(i).Cells(1).Value Then
MsgBox(" هذاالصنف موجود من قبل " + txtCode.Text)
Exit Sub
End If
Next
InsertItem(txtCode.Text, txtName.Text, txtPrice.Text, txtQty.Text, txtchira.Text)
loadItem()
MsgBox("تم التحديث بنجاح")
Else
UpdateItem(txtName.Text, txtPrice.Text, txtQty.Text, txtCode.Text, txtchira.Text)
loadItem()
MsgBox("تم التحديث بنجاح")
End If
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "خطأ ... راجع البيانات المدخله !")
Finally
con.Close()
End Try
txtSearch.Clear()
clearTXTitem()
desActTXTitem()
End Sub
Private Sub btnUpdate_Click(sender As Object, e As EventArgs) Handles btnUpdate.Click
Try
actTXTitem()
txtCode.Enabled = False
txtCode.Text = dgvItem.CurrentRow.Cells(0).Value
txtName.Text = dgvItem.CurrentRow.Cells(1).Value
txtPrice.Text = dgvItem.CurrentRow.Cells(2).Value
txtchira.Text = dgvItem.CurrentRow.Cells(3).Value
txtQty.Text = dgvItem.CurrentRow.Cells(4).Value
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "تأكد من وجود بيانات !")
Finally
con.Close()
End Try
End Sub
Private Sub btnDelete_Click(sender As Object, e As EventArgs) Handles btnDelete.Click
Try
If MessageBox.Show("هل تريد بالفعل حذف : " + dgvItem.CurrentRow.Cells(1).Value, "عملية الحذف ", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation) = Windows.Forms.DialogResult.Yes Then
MsgBox("تم حذف : " + dgvItem.CurrentRow.Cells(1).Value, MsgBoxStyle.Information, "تم الحذف")
DeleteItem(dgvItem.CurrentRow.Cells(0).Value)
loadItem()
Else
MsgBox("تم الغاء عملية حذف : " + dgvItem.CurrentRow.Cells(1).Value, MsgBoxStyle.Exclamation, "تم الغاء الحذف")
loadItem()
End If
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "تأكد من وجود بيانات !")
Finally
con.Close()
End Try
End Sub
Private Sub txtSearch_TextChanged(sender As Object, e As EventArgs) Handles txtSearch.TextChanged
Try
cmdb = New OleDbCommandBuilder(da)
Dim dtSearch As DataTable = dtItem.Copy
Dim dv As DataView = dtSearch.DefaultView
dv.RowFilter = "code + nam LIKE '%" & txtSearch.Text & "%'"
dgvItem.DataSource = dv
Catch ex As Exception
Exit Sub
End Try
End Sub
End Class
------------------------
منكم أتعلم
------------------------