تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
محتاج كود للبحث
#1
السلام عليكم الأخوة الكرام

احتاج كود للبحث في قاعدة البيانات من نوع SQL كالتالي :

لدي قاعدة بيانات فيها :
ItemCode
ItemName
ItemPrice
ولدي داتا جريد 
كود الصنف - اسم الصنف - سعر الصنف
المطلوب البحث عن رقم الصنف من داخل التكست بوكس وانزال نتيجة البحث في الداتا جريد 
لبرنامج فاتورة مبيعات

ارجو المساعدة
الرد }}}
تم الشكر بواسطة:
#2
وعليكم السلام

أخي

لم تضع مشروع صغير للتوضيح

أنت تريد البحث عن رقم صنف محدد
وأكيد الناتج لن يزيد عن سطر واحد
فما علاقة الداتا جريد!

المعروف أن الداتا جريد مخصصة لعرض أسطر كثيرة!

عموما البحث يكون عن طريق where الخاصة بالاستعلام مثل select * from tbl where itemcode=1
والناتج تضيفه بحسب طريقتك في الكود
الرد }}}
تم الشكر بواسطة:
#3
استخدمت هذا الكود ولاكن المشكلة بيضيف سطر واحد فقط وباقي الاسطر فارغة

If e.KeyChar = ChrW(Keys.Enter) Then

sql = "select ItemCode,ItemName,ItemPrice from Items where ItemCode ='" + TextBox1.Text + "'"
Dim dt_itm As New DataTable
dp = New OleDb.OleDbDataAdapter(sql, con)
dp.Fill(dt_itm)
dgv_data.Rows.Add()
dgv_data.Rows(0).Cells(0).Value = dt_itm.Rows(0)("ItemCode")
dgv_data.Rows(0).Cells(1).Value = dt_itm.Rows(0)("ItemName")
dgv_data.Rows(0).Cells(2).Value = dt_itm.Rows(0)("ItemPrice")




End If

هذي صورة توضيحية

صورة توضيحية


الملفات المرفقة صورة/صور
       
الرد }}}
تم الشكر بواسطة:
#4
PHP كود :
Private Sub TextBox1_KeyPress(ByVal sender As ObjectByVal e As KeyPressEventArgsHandles TextBox1.KeyPress
    
If e.KeyChar <> ChrW(Keys.EnterThen Return

    
Using dp As New OleDb.OleDbDataAdapter("SELECT * FROM [Items] WHERE [ItemCode] = @code"con)
        
dp.SelectCommand.Parameters.AddWithValue("@code"TextBox1.Text)
        
Dim dt_itm As New DataTable
        
If dp.Fill(dt_itm) > 0 Then
            Dim r 
As DataRow dt_itm.Rows(0)
            
dgv_data.Rows.Add(r("ItemCode"), r("ItemName"), r("ItemPrice"))
            
            
dgv_data.FirstDisplayedScrollingRowIndex dgv_data.Rows.Count 1
            
            TextBox1
.Clear()
            
TextBox1.Select()

        
End If
    
End Using

End Sub 
الرد }}}
تم الشكر بواسطة: العيدروس , VB.NET
#5
جزاك الله خير اخي الكريم a.Ahmed

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

الصور التوضيحية

يعني اذا كان نفس الرقم موجود في الداتا جريد ما احتاج تكرار السطر وانما زيادة العدد فقط الى 2 او 3 او 4


الملفات المرفقة صورة/صور
       
الرد }}}
تم الشكر بواسطة:
#6
PHP كود :
Private Sub TextBox1_KeyPress(ByVal sender As ObjectByVal e As KeyPressEventArgsHandles TextBox1.KeyPress
    
If e.KeyChar <> ChrW(Keys.EnterThen Return

    
Using dp As New OleDb.OleDbDataAdapter("SELECT * FROM [Items] WHERE [ItemCode] = @code"con)
        
dp.SelectCommand.Parameters.AddWithValue("@code"TextBox1.Text)
        
Dim dt_itm As New DataTable
        
If dp.Fill(dt_itm) > 0 Then
            Dim r 
As DataRow dt_itm.Rows(0)

            
dgv_data.ClearSelection()

            
Dim dgvRow As DataGridViewRow = (From x In Me.dgv_data.Rows Where x.Cells(0).Value r("ItemCode")).SingleOrDefault
            
If IsNothing(dgvRowThen

                dgv_data
.Rows.Add(r("ItemCode"), r("ItemName"), r("ItemPrice"), 1)

                
dgv_data.FirstDisplayedScrollingRowIndex dgv_data.Rows.Count - If(dgv_data.AllowUserToAddRows21)
                
dgv_data.Rows(dgv_data.Rows.Count - If(dgv_data.AllowUserToAddRows21)).Selected True

            
Else

                
dgvRow.Cells(3).Value += 1

                dgv_data
.FirstDisplayedScrollingRowIndex dgvRow.Index
                dgv_data
.Rows(dgvRow.Index).Selected True

            End 
If

            
TextBox1.Clear()
            
TextBox1.Select()

        
End If
    
End Using

End Sub 
الرد }}}
تم الشكر بواسطة: VB.NET , VB.NET
#7
وفقك الله في الدنيا والاخرة

هل ممكن اخي الكريم ان اطلب بزيادة رقم 1 للكمية بمجرد الضغط على + داخل التكست او نقصان 1 للكمية اذا كانة اكثر من 1 واذا كانت الكمية 1 وعملت - يتم حذف السطر
طبعا هذا التعامل لاخر سطر في الداتا جريد
الرد }}}
تم الشكر بواسطة:
#8
PHP كود :
Private Sub Form1_Load(ByVal sender As ObjectByVal e As EventArgsHandles MyBase.Load
    dgv_data
.AllowUserToAddRows False

End Sub

Private Sub TextBox1_KeyPress(ByVal sender As ObjectByVal e As KeyPressEventArgsHandles TextBox1.KeyPress
    Select 
Case e.KeyChar

        
Case ChrW(Keys.Enter)

            
Using dp As New OleDb.OleDbDataAdapter("SELECT * FROM [Items] WHERE [ItemCode] = @code"con)
                
dp.SelectCommand.Parameters.AddWithValue("@code"TextBox1.Text)
                
Dim dt_itm As New DataTable
                
If dp.Fill(dt_itm) > 0 Then
                    Dim r 
As DataRow dt_itm.Rows(0)

                    
dgv_data.ClearSelection()

                    
Dim dgvRow As DataGridViewRow = (From x In Me.dgv_data.Rows Where x.Cells(0).Value r("ItemCode")).SingleOrDefault
                    
If IsNothing(dgvRowThen

                        dgv_data
.Rows.Add(r("ItemCode"), r("ItemName"), r("ItemPrice"), 1)

                        
dgv_data.FirstDisplayedScrollingRowIndex dgv_data.Rows.Count 1
                        dgv_data
.Rows(dgv_data.Rows.Count 1).Selected True

                    
Else

                        
dgvRow.Cells(3).Value += 1

                        dgv_data
.FirstDisplayedScrollingRowIndex dgvRow.Index
                        dgv_data
.Rows(dgvRow.Index).Selected True

                    End 
If

                    
TextBox1.Clear()
                    
TextBox1.Select()

                
End If
            
End Using

        
Case "+"
            
Dim dgvRow As DataGridViewRow = (From x In Me.dgv_data.Rows).LastOrDefault
            
If Not IsNothing(dgvRowThen
                dgvRow
.Cells(3).Value += 1
            End 
If
            
e.Handled True

        
Case "-"
            
Dim dgvRow As DataGridViewRow = (From x In Me.dgv_data.Rows).LastOrDefault
            
If Not IsNothing(dgvRowThen
                dgvRow
.Cells(3).Value -= 1
                
If dgvRow.Cells(3).Value 0 Then Me.dgv_data.Rows.RemoveAt(dgvRow.Index)
            
End If
            
e.Handled True

    End Select

End Sub 
الرد }}}
تم الشكر بواسطة: VB.NET , مراد بورجي
#9
والله يا اخي الكريم حفظك الله وبارك في علمك

اسمح لي ولاكن عندي تصميم مشروع لواجهة نقاط البيع اشكرك جدا

الان بعد ما ذكرنا كل الى راح
لو عند الكاشير قطعة اخذ منها الزبون مثلا15 حبة نحتاج حل جيد لهذا مثلا :

كيف استطيع تحديد الكمية وباركود الصنف زي كذا

15+1000
يعني احتاج الكود الي يساوي 1000 والكمية تكون 15

والعكس صحيح يعني

15-1000
يعني انقاص 15 حبة من كمية الصنف رقم 1000
الرد }}}
تم الشكر بواسطة:
#10
PHP كود :
Private Sub Form1_Load(ByVal sender As ObjectByVal e As EventArgsHandles MyBase.Load
    dgv_data
.AllowUserToAddRows False

End Sub

Private Sub TextBox1_KeyPress(ByVal sender As ObjectByVal e As KeyPressEventArgsHandles TextBox1.KeyPress
    Select 
Case e.KeyChar

        Case ChrW
(Keys.Enter)

 
           Dim code sender.Text.Trim
            Dim qty 
As Integer 1

            Dim spP
() As String sender.Text.Trim.Split("+")
 
           If spP.Count 2 Then
                code 
spP(0)
 
               qty spP(1)
 
           End If

 
           Dim spM() As String sender.Text.Trim.Split("-")
 
           If spM.Count 2 Then
                code 
spM(0)
 
               qty = -spM(1)
 
           End If

 
           Using dp As New OleDb.OleDbDataAdapter("SELECT * FROM [Items] WHERE [ItemCode] = @code"con)
 
               dp.SelectCommand.Parameters.AddWithValue("@code"code)
 
               Dim dt_itm As New DataTable
                If dp
.Fill(dt_itm) > 0 Then
                    Dim r 
As DataRow dt_itm.Rows(0)

 
                   dgv_data.ClearSelection()

 
                   Dim dgvRow As DataGridViewRow = (From x In Me.dgv_data.Rows Where x.Cells(0).Value r("ItemCode")).SingleOrDefault
                    If IsNothing
(dgvRowThen
                        If qty 
0 Then
                            dgv_data
.Rows.Add(r("ItemCode"), r("ItemName"), r("ItemPrice"), qty)

 
                           dgv_data.FirstDisplayedScrollingRowIndex dgv_data.Rows.Count 1
                            dgv_data
.Rows(dgv_data.Rows.Count 1).Selected True
                        End 
If

 
                   Else

                        dgvRow
.Cells(3).Value += qty

                        dgv_data
.FirstDisplayedScrollingRowIndex dgvRow.Index
                        dgv_data
.Rows(dgvRow.Index).Selected True

                        If dgvRow
.Cells(3).Value <= 0 Then Me.dgv_data.Rows.RemoveAt(dgvRow.Index)

 
                   End If

 
                   sender.Clear()
 
                   sender.Select()

 
               End If
 
           End Using

        Case 
"+"
 
           If sender.Text.Trim "" Then
                Dim dgvRow 
As DataGridViewRow = (From x In Me.dgv_data.Rows).LastOrDefault
                If Not IsNothing
(dgvRowThen
                    dgvRow
.Cells(3).Value += 1
                End 
If
 
               e.Handled True
            End 
If

 
       Case "-"
 
           If sender.Text.Trim "" Then
                Dim dgvRow 
As DataGridViewRow = (From x In Me.dgv_data.Rows).LastOrDefault
                If Not IsNothing
(dgvRowThen
                    dgvRow
.Cells(3).Value -= 1
                    If dgvRow
.Cells(3).Value 0 Then Me.dgv_data.Rows.RemoveAt(dgvRow.Index)
 
               End If
 
               e.Handled True
            End 
If

 
   End Select

End Sub 

     Updated
الرد }}}
تم الشكر بواسطة: VB.NET


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [مشروع] مشروع لاضافة رسم بيانى محتاج التدخل لاصلاحه dr.programming 0 219 09-11-25, 01:48 AM
آخر رد: dr.programming
  [VB.NET] محتاج اربط DataGridView بزر بحث bakrycold 1 556 28-02-25, 12:11 AM
آخر رد: bakrycold
  محتاج تعديل على كود الحذف new_programer 2 654 17-02-25, 06:50 PM
آخر رد: new_programer
  محتاج كود انتقال خالد كامل1 2 443 22-01-25, 11:38 AM
آخر رد: قناص المدينة
  محتاج عمل التقارير pdf خالد كامل1 3 490 20-01-25, 01:06 AM
آخر رد: خالد كامل1
  [سؤال] مشكلة محتاج تفسير dr.programming 0 307 28-08-24, 02:43 PM
آخر رد: dr.programming
  محتاج الكود بحث عن اخر فاتورة مبيعات (مستعجل يا اخواني) Hamza8484 2 484 21-08-24, 12:00 AM
آخر رد: ba2e44ca9a
  السلام عليكم - محتاج كود لوحة الارقام في شاشة paid cash Hamza8484 1 401 13-08-24, 10:23 AM
آخر رد: تركي الحلواني
  محتاج مساعدة تعديل اعدادات التقرير في الكريستال ريبورت فاتورة (8) C Hamza8484 2 502 23-07-24, 05:03 AM
آخر رد: Hamza8484
  [سؤال] محتاج نسخة V.S 2022 dr.programming 8 1,000 10-06-24, 11:31 PM
آخر رد: عبد العزيز البسكري

التنقل السريع :


يقوم بقرائة الموضوع: