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

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






الكود
https://www.gulf-up.com/tft1c83ycwnc

كود :
Private Sub TB_item_barcode_Leave(sender As Object, e As EventArgs) Handles TB_item_barcode.Leave
       '\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ طريقة الإدخال بالباركود \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
       '\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

       Dim BAR_ As Integer

       If TB_item_barcode.Text <> Nothing Then
           Dim DT As New DataTable
           Dim DA As New SqlClient.SqlDataAdapter("SELECT * FROM Item WHERE item_barcode like '" & TB_item_barcode.Text & "'", connSQLServer)
           DA.Fill(DT)

           If DT.Rows.Count > 0 Then

               '\\\\\\\\\\\\\\\\\\\\\التحقق من رقم كود الصنف\\\\\\\\\\\\\\\\\\\\\
               For I As Integer = 0 To DataGridView.Rows.Count - 1
                   If DataGridView.Rows(I).Cells(0).Value = DT.Rows(0).Item("item_id") Then
                       DataGridView.Rows(I).Cells(4).Value = DataGridView.Rows(I).Cells(4).Value + 1
                       TB_item_barcode.Clear()
                       Exit Sub
                   End If
               Next

               '\\\\\\\\\\\\\\\\\\\\\إضافة سجل للداتاجيرد\\\\\\\\\\\\\\\\\\\\\

               DataGridView.Rows.Add()
               BAR_ = DataGridView.Rows.Count - 1
               DataGridView(0, DataGridView.Rows.Count - 1).Value = DT.Rows(0).Item("item_id")
               DataGridView(1, DataGridView.Rows.Count - 1).Value = DT.Rows(0).Item("item_name")
               DataGridView(2, DataGridView.Rows.Count - 1).Value = DT.Rows(0).Item("item_barcode")
               DataGridView(3, DataGridView.Rows.Count - 1).Value = DT.Rows(0).Item("item_price")
               DataGridView(4, DataGridView.Rows.Count - 1).Value = 1
           End If
       End If
   End Sub


   Private Sub TB_item_barcode_KeyDown(sender As Object, e As KeyEventArgs) Handles TB_item_barcode.KeyDown
       If e.KeyCode = Keys.Enter Then
           TB_item_barcode_Leave(sender, e)
       End If
   End Sub
الفكرة ببساطة:
- تختار الصنف المطلوب.
- تخزن رقم الباركود في الجدول المخصص به، بدلالة رقم الـID الخاص بالصنف.
- تستعلم عنه في قاعدة البيانات.
- تعرض نتيجة الاستعلام على الـGrid.

ومن خلال الصور، لا داع لوجود السطر الذي بجانبه علامة الخطأ.
(11-03-19, 10:12 PM)أبوبكر سويدان كتب : [ -> ]الفكرة ببساطة:
- تختار الصنف المطلوب.
- تخزن رقم الباركود في الجدول المخصص به، بدلالة رقم الـID الخاص بالصنف.
- تستعلم عنه في قاعدة البيانات.
- تعرض نتيجة الاستعلام على الـGrid.

ومن خلال الصور، لا داع لوجود السطر الذي بجانبه علامة الخطأ.


دا انا فاهمه لاكن اعذرني اني ما وضحت ان دي فاتورة مشتريات 
يعني اجيب الصنف من جدول الأصناف و اضيفه في الداتا جيردفيو و بعدين اضيفه في جدول جديد خاصة بالفواتير

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

عدل كود الاضافة ليصبح بهذا الشكل
كود :
       Dim row As String() = New String() {}
       row(0) = DT.Rows(0).Item("item_id")
       row(1) = DT.Rows(0).Item("item_name")
       row(2) = DT.Rows(0).Item("item_barcode")
       row(3) = DT.Rows(0).Item("item_price")
       row(4) = 1
       DataGridView1.Rows.Add(row)

ولتقليل عدد اسطر الكود اجعله بهذا الشكل
كود :
       Dim row As String() = New String() {DT.Rows(0).Item("item_id"), DT.Rows(0).Item("item_name"), DT.Rows(0).Item("item_barcode"), DT.Rows(0).Item("item_price"), 1}
       DataGridView1.Rows.Add(row)

الاسهل لك استخدمه

تحياتى لك
وتمنياتى لك التوفيق