منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : ممكن حل للمشكلة هدي
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم
عند التعديل علي فورم الاصناف تظهر معاي هدي الريسالة ياريت حل للمشكلة




كود التعديل

PHP كود :
Private Sub BtnEdit_Click(sender As ObjectAs EventArgsHandles BtnEdit.Click
        Update_Items
(ItemID.TextItemBarcode.TextItemName.TextItemGroup.TextItemCompany.TextItemPlace.TextItemPrice.TextItemQty.TextItemLimit.TextItemMaxDiscound.TextItemEran.TextItemDate.ValueItemTime.ValueItemUser.Text)
 
       Load_Items()
 
   End Sub 

كود التعديل 2
PHP كود :
Public Sub Update_Items(ByVal ItemID AS LongByVal ItemBarcode AS String,ByVal ItemName AS String,ByVal ItemGroup AS String,ByVal ItemCompany AS String,ByVal ItemPlace AS String,ByVal ItemPrice AS DecimalByVal itemQty As DecimalByVal ItemLimit As DecimalByVal ItemMaxDiscound As DecimalByVal ItemEran As Decimal,ByVal ItemDate AS DateTime,ByVal ItemTime AS DateTime,ByVal ItemUser AS String)
 
     Dim Cmd As New OledbCommand
With Cmd
.Connection Con
.CommandType CommandType.Text
            
.CommandText "Update Items Set ItemID = @ItemID,ItemBarcode = @ItemBarcode,ItemName = @ItemName,ItemGroup = @ItemGroup,ItemCompany = @ItemCompany,ItemPlace = @ItemPlace,ItemPrice = @ItemPrice,ItemQty = @ItemQty,ItemLimit = @ItemLimit,ItemMaxDiscound = @ItemMaxDiscound,ItemEran = @ItemEran,ItemDate = @ItemDate,ItemTime = @ItemTime,ItemUser = @ItemUser"
 
           .Parameters.AddWithValue("@ItemID"OleDbType.Integer ).Value ItemID
.Parameters.AddWithValue("@ItemBarcode"OleDbType.VarWChar ).Value ItemBarcode
.Parameters.AddWithValue("@ItemName"OleDbType.VarWChar ).Value ItemName
.Parameters.AddWithValue("@ItemGroup"OleDbType.VarWChar ).Value ItemGroup
.Parameters.AddWithValue("@ItemCompany"OleDbType.VarWChar ).Value ItemCompany
.Parameters.AddWithValue("@ItemPlace"OleDbType.VarWChar ).Value ItemPlace
.Parameters.AddWithValue("@ItemPrice"OleDbType.Double ).Value ItemPrice
.Parameters.AddWithValue("@ItemQty"OleDbType.Double ).Value ItemQty
.Parameters.AddWithValue("@ItemLimit"OleDbType.Double ).Value ItemLimit
.Parameters.AddWithValue("@ItemMaxDiscound"OleDbType.Double ).Value ItemMaxDiscound
.Parameters.AddWithValue("@ItemEran"OleDbType.Double ).Value ItemEran
.Parameters.AddWithValue("@ItemDate"OleDbType.Date ).Value ItemDate
.Parameters.AddWithValue("@ItemTime"OleDbType.Date ).Value ItemTime
.Parameters.AddWithValue("@ItemUser"OleDbType.VarWChar ).Value ItemUser

End With
If Con.State 1 Then Con.Close()
Con.Open()
Cmd.ExecuteNonQuery()
Con.Close()
MsgBox("تم تعديل السجل بنجاح"MsgBoxStyle.Information"تعديل")
Cmd Nothing
End Sub 
السلام عليكم ورحمة الله وبركاته
احي الكريم 
انت لم تضع حقل الشرط الذي سيتم بموجبه اختيار السجل لتعديله وهو هنا   ItemID  
الامر الاخر في جملة التعديل نضع كل الحقول التي سيتم التعديل عليها اولا ثم حقل الشرط في النهاية
تفضل التعديل
كود :
 Public Sub Update_Items(ByVal ItemBarcode As String, ByVal ItemName As String, ByVal ItemGroup As String, ByVal ItemCompany As String, ByVal ItemPlace As String, ByVal ItemPrice As Decimal, ByVal itemQty As Decimal, ByVal ItemLimit As Decimal, ByVal ItemMaxDiscound As Decimal, ByVal ItemEran As Decimal, ByVal ItemDate As DateTime, ByVal ItemTime As DateTime, ByVal ItemUser As String, ByVal ItemID As Integer)
       Dim Cmd As New OledbCommand
       With Cmd
           .Connection = Con
           .CommandType = CommandType.Text
           .CommandText = "Update Items Set ItemBarcode = @ItemBarcode,ItemName = @ItemName,ItemGroup = @ItemGroup,ItemCompany = @ItemCompany,ItemPlace = @ItemPlace,ItemPrice = @ItemPrice,ItemQty = @ItemQty,ItemLimit = @ItemLimit,ItemMaxDiscound = @ItemMaxDiscound,ItemEran = @ItemEran,ItemDate = @ItemDate,ItemTime = @ItemTime,ItemUser = @ItemUser Where ItemID = @ItemID"

           .Parameters.AddWithValue("@ItemBarcode", OleDbType.VarWChar).Value = ItemBarcode
           .Parameters.AddWithValue("@ItemName", OleDbType.VarWChar).Value = ItemName
           .Parameters.AddWithValue("@ItemGroup", OleDbType.VarWChar).Value = ItemGroup
           .Parameters.AddWithValue("@ItemCompany", OleDbType.VarWChar).Value = ItemCompany
           .Parameters.AddWithValue("@ItemPlace", OleDbType.VarWChar).Value = ItemPlace
           .Parameters.AddWithValue("@ItemPrice", OleDbType.Double).Value = ItemPrice
           .Parameters.AddWithValue("@ItemQty", OleDbType.Double).Value = itemQty
           .Parameters.AddWithValue("@ItemLimit", OleDbType.Double).Value = ItemLimit
           .Parameters.AddWithValue("@ItemMaxDiscound", OleDbType.Double).Value = ItemMaxDiscound
           .Parameters.AddWithValue("@ItemEran", OleDbType.Double).Value = ItemEran
           .Parameters.AddWithValue("@ItemDate", OleDbType.Date).Value = ItemDate
           .Parameters.AddWithValue("@ItemTime", OleDbType.Date).Value = ItemTime
           .Parameters.AddWithValue("@ItemUser", OleDbType.VarWChar).Value = ItemUser
           .Parameters.AddWithValue("@ItemID", OleDbType.Integer).Value = ItemID

       End With
       If Con.State = 1 Then Con.Close()
       Con.Open()
       Cmd.ExecuteNonQuery()
       Con.Close()
       MsgBox("تم تعديل السجل بنجاح", MsgBoxStyle.Information, "تعديل")
       Cmd = Nothing
   End Sub

 تعديل كود الزر

كود :
Private Sub BtnEdit_Click(sender As Object, e As EventArgs) Handles BtnEdit.Click
       Update_Items(ItemBarcode.Text, ItemName.Text, ItemGroup.Text, ItemCompany.Text, ItemPlace.Text, Convert.ToDecimal(ItemPrice.Text), Convert.ToDecimal(ItemQty.Text), Convert.ToDecimal(ItemLimit.Text), Convert.ToDecimal(ItemMaxDiscound.Text), Convert.ToDecimal(ItemEran.Text), ItemDate.Value, ItemTime.Value, ItemUser.Text, Convert.ToInt32(ItemID.Text))
       Load_Items()
   End Sub

ملاحظة : كان لديك اختلاف ايضا في نوع حقل الاي دي حيث تم تعريفه في سطر اسم تعريف الصب من نوع long  وفي الباراميتر integer  تم تعديله عدله في قاعدة البيانات ليتوافق ايضا

في كود زر التعديل كل مربعات النصوص قم بتحويلها الى نوع بيانات الحقل ايضا بالرغم من ان الفيجوال بيسك يتساهل في هذه النقطة لكن تحويلها افضل تم تعديلها
لا اعلم ان كان هناك اخطاء اخرى تتعلق باسماء الحقول او شي أخر جرب الكود اولا 
جزاك الله خيرا تم جل المشكلة وربي يعطيك مزيدا من العلم والتقدم سلمت يداك
الحمد لله والشكر لله
ولك اخي الكريم