تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] سؤال : كود يجمع العناصر المتشابة في داتا قريد عن الاظافة بدون تكرار
#11
(06-09-18, 02:00 AM)EYADISMAIL كتب : حاليا يتم الادخال عن طريق التكست بوكس الي قاعدة البيانات ثم تعرض البيانات في الداتا قريد ... اذا كانت هناك طريقة اسهل اخي الكريم . بارك الله في
للعلم . الادخال عن طريق رقم الصنف فقط باقي البيانات تعرض تلقائي


بما ان حالياً يتم ادخل البيانات الى قاعدة البيانات

ثم عمل استعلام لجب البيانات وعرض البيانات فى Datagridview

فكل المطلوب هو فقط التعديل على كود الاستعلام

ضع عنا فط كود الاستعلام التى يتم جلب بيانات الفاتورة
لتعبئة الـ DataGridView

وساقوم بتعديلها طبقاً ما لديك ووضعه لك هنا

تحياتى لك
وتمنياتى لك التوفيق
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]

ساهم دائماً فى    لكل من يقوم بالمساهمة
فى حل المشكلة او الاستفسار لديك فالجميع هنا يعمل 
على مساعدة الاخرين لوجه الله وان تحتسب له اجر عند الله


 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد }}}
تم الشكر بواسطة: EYADISMAIL
#12
(06-09-18, 02:00 AM)EYADISMAIL كتب :  اخي الكريم ما المطلوب مني لكي ارسله لك وبارك الله فيك
اضغط المثال وارسله وانا اعدله لك ،،،،
الرد }}}
تم الشكر بواسطة: elgokr , EYADISMAIL
#13
السلام عليكم ورحمة الله وبركاته ..   وبارك الله فيكم وجزاكم كل خير على الرد 


بالنسبة للسؤال لقد قمت بعمل نموذج يحتوي علي الكود وطريقة الادخال ... 


للعلم لقد قمت بازالة الترقيم التلقائي من  قاعدة البيانات و المفتاح الاسياسي حتى تتمكن من اضافة العنصر مرتين للتجربة ..


طلبي اذا سمحتم .  عند الادخال نفس العنصر يقوم بجمع عدد الوحدات والاجمالي على نفس اسم الصنف ورقم الصنف


2 سؤال اخر هل يمكن الادخال عن طريق الداتا قريد؟

3-بارك الله فيكم وجزاكم كل خير .


النموذج في المرفقات.


الملفات المرفقة
.rar   WindowsApplication3.rar (الحجم : 85.53 ك ب / التحميلات : 54)
الرد }}}
تم الشكر بواسطة:
#14
كود :
Imports System.Data.OleDb

Public Class F1

   Private Sub F1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
       DataGridView1.AutoGenerateColumns = False
       TextBox5.ReadOnly = True
       fill_namesGrid()
       TextBox1.Select()
   End Sub


   Dim row As DataRow
   Private Sub TextBox1_TextChanged(sender As System.Object, e As System.EventArgs) Handles TextBox1.TextChanged
       Dim no_itm As Integer = Val(sender.Text)
       Dim myDA As New OleDbDataAdapter("SELECT * FROM [itm] WHERE [no_itm]=" & no_itm, db)
       Dim myDataTable As New DataTable()
       row = Nothing
       If myDA.Fill(myDataTable) > 0 Then
           row = myDataTable.Rows(0)
           TextBox3.Text = row("na_itm")
           TextBox2.Text = row("sell_itm")
           TextBox3.Enabled = False
           TextBox2.Enabled = False
       Else
           TextBox3.Clear()
           TextBox2.Clear()
           TextBox4.Clear()
           TextBox3.Enabled = True
           TextBox2.Enabled = True
       End If
   End Sub

   Private Sub TextBox2_TextBox4_TextChanged(sender As System.Object, e As System.EventArgs) Handles TextBox2.TextChanged, TextBox4.TextChanged
       TextBox5.Text = Val(TextBox4.Text) * Val(TextBox2.Text)
   End Sub


   Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

       If Not IsNumeric(TextBox1.Text) AndAlso Val(TextBox1.Text) <= 0 Then
           MsgBox("الرجاء ادخال رقم الصنف")
           TextBox1.Select()
           Exit Sub
       End If

       If TextBox3.Text.Trim = "" Then
           MsgBox("الرجاء ادخال اسم الصنف")
           TextBox3.Select()
           Exit Sub
       End If

       If Not IsNumeric(TextBox2.Text) AndAlso Val(TextBox2.Text) <= 0 Then
           MsgBox("الرجاء ادخال سعر البيع")
           TextBox2.Select()
           Exit Sub
       End If

       If Not IsNumeric(TextBox4.Text) AndAlso Val(TextBox4.Text) <= 0 Then
           MsgBox("الرجاء ادخال عدد الوحدات")
           TextBox4.Select()
           Exit Sub
       End If

       Try
           If db.State <> ConnectionState.Open Then db.Open()

           If IsNothing(row) Then

               Dim sql As String = "INSERT INTO [itm] ([no_itm], [na_itm], [sell_itm], [units_itm], [Total_itm]) VALUES(@no_itm, @na_itm, @sell_itm, @units_itm, @Total_itm)"
               Dim sw As New OleDbCommand(sql, db)
               sw.Parameters.AddWithValue("@no_itm", TextBox1.Text)
               sw.Parameters.AddWithValue("@na_itm", TextBox3.Text)
               sw.Parameters.AddWithValue("@sell_itm", TextBox2.Text)
               sw.Parameters.AddWithValue("@units_itm", TextBox4.Text)
               sw.Parameters.AddWithValue("@Total_itm", TextBox5.Text)
               sw.ExecuteNonQuery()

           Else
               Dim sql As String = "UPDATE [itm] SET [units_itm] = [units_itm] + @units_itm, [Total_itm] = @Total_itm WHERE [no_itm]=@no_itm"
               Dim sw As New OleDbCommand(sql, db)
               sw.Parameters.AddWithValue("@units_itm", TextBox4.Text)
               sw.Parameters.AddWithValue("@Total_itm", row("Total_itm") + TextBox5.Text)
               sw.Parameters.AddWithValue("@no_itm", TextBox1.Text)
               sw.ExecuteNonQuery()
           End If

           TextBox1.Clear()
           TextBox3.Clear()
           TextBox2.Clear()
           TextBox4.Clear()
           TextBox1.Select()

           fill_namesGrid()

           MsgBox("تم تسجيل بيانات الصنف")

       Catch
           MsgBox("عذراً... هناك خطأ ما ")
       Finally
           db.Close()
       End Try

   End Sub

   Sub fill_namesGrid()
       Dim myDA As New OleDbDataAdapter("SELECT * FROM [itm]", db)
       Dim myDataTable As New DataTable()
       myDA.Fill(myDataTable)
       DataGridView1.AutoGenerateColumns = False
       DataGridView1.DataSource = myDataTable
   End Sub

End Class
الرد }}}
تم الشكر بواسطة: EYADISMAIL
#15
Heart 
(10-09-18, 03:25 AM)911 كتب :
كود :
Imports System.Data.OleDb

Public Class F1

   Private Sub F1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
       DataGridView1.AutoGenerateColumns = False
       TextBox5.ReadOnly = True
       fill_namesGrid()
       TextBox1.Select()
   End Sub


   Dim row As DataRow
   Private Sub TextBox1_TextChanged(sender As System.Object, e As System.EventArgs) Handles TextBox1.TextChanged
       Dim no_itm As Integer = Val(sender.Text)
       Dim myDA As New OleDbDataAdapter("SELECT * FROM [itm] WHERE [no_itm]=" & no_itm, db)
       Dim myDataTable As New DataTable()
       row = Nothing
       If myDA.Fill(myDataTable) > 0 Then
           row = myDataTable.Rows(0)
           TextBox3.Text = row("na_itm")
           TextBox2.Text = row("sell_itm")
           TextBox3.Enabled = False
           TextBox2.Enabled = False
       Else
           TextBox3.Clear()
           TextBox2.Clear()
           TextBox4.Clear()
           TextBox3.Enabled = True
           TextBox2.Enabled = True
       End If
   End Sub

   Private Sub TextBox2_TextBox4_TextChanged(sender As System.Object, e As System.EventArgs) Handles TextBox2.TextChanged, TextBox4.TextChanged
       TextBox5.Text = Val(TextBox4.Text) * Val(TextBox2.Text)
   End Sub


   Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

       If Not IsNumeric(TextBox1.Text) AndAlso Val(TextBox1.Text) <= 0 Then
           MsgBox("الرجاء ادخال رقم الصنف")
           TextBox1.Select()
           Exit Sub
       End If

       If TextBox3.Text.Trim = "" Then
           MsgBox("الرجاء ادخال اسم الصنف")
           TextBox3.Select()
           Exit Sub
       End If

       If Not IsNumeric(TextBox2.Text) AndAlso Val(TextBox2.Text) <= 0 Then
           MsgBox("الرجاء ادخال سعر البيع")
           TextBox2.Select()
           Exit Sub
       End If

       If Not IsNumeric(TextBox4.Text) AndAlso Val(TextBox4.Text) <= 0 Then
           MsgBox("الرجاء ادخال عدد الوحدات")
           TextBox4.Select()
           Exit Sub
       End If

       Try
           If db.State <> ConnectionState.Open Then db.Open()

           If IsNothing(row) Then

               Dim sql As String = "INSERT INTO [itm] ([no_itm], [na_itm], [sell_itm], [units_itm], [Total_itm]) VALUES(@no_itm, @na_itm, @sell_itm, @units_itm, @Total_itm)"
               Dim sw As New OleDbCommand(sql, db)
               sw.Parameters.AddWithValue("@no_itm", TextBox1.Text)
               sw.Parameters.AddWithValue("@na_itm", TextBox3.Text)
               sw.Parameters.AddWithValue("@sell_itm", TextBox2.Text)
               sw.Parameters.AddWithValue("@units_itm", TextBox4.Text)
               sw.Parameters.AddWithValue("@Total_itm", TextBox5.Text)
               sw.ExecuteNonQuery()

           Else
               Dim sql As String = "UPDATE [itm] SET [units_itm] = [units_itm] + @units_itm, [Total_itm] = @Total_itm WHERE [no_itm]=@no_itm"
               Dim sw As New OleDbCommand(sql, db)
               sw.Parameters.AddWithValue("@units_itm", TextBox4.Text)
               sw.Parameters.AddWithValue("@Total_itm", row("Total_itm") + TextBox5.Text)
               sw.Parameters.AddWithValue("@no_itm", TextBox1.Text)
               sw.ExecuteNonQuery()
           End If

           TextBox1.Clear()
           TextBox3.Clear()
           TextBox2.Clear()
           TextBox4.Clear()
           TextBox1.Select()

           fill_namesGrid()

           MsgBox("تم تسجيل بيانات الصنف")

       Catch
           MsgBox("عذراً... هناك خطأ ما ")
       Finally
           db.Close()
       End Try

   End Sub

   Sub fill_namesGrid()
       Dim myDA As New OleDbDataAdapter("SELECT * FROM [itm]", db)
       Dim myDataTable As New DataTable()
       myDA.Fill(myDataTable)
       DataGridView1.AutoGenerateColumns = False
       DataGridView1.DataSource = myDataTable
   End Sub

End Class
السلام عليكم

ماشاء الله Heart  -احسنت .  بارك الله فيك اخي العزيز .  وجميع الاخوة  على الرد 


تسلم وجعله الله في ميزان حسناتك .  تمام ما اريد وزيادة  Big Grin
الرد }}}
تم الشكر بواسطة: 911 , 911
#16
هذا مثال فاتورة لعلها تفيدك بشي .

http://vb4arb.com/vb/showthread.php?tid=26442
الرد }}}
تم الشكر بواسطة: EYADISMAIL , elgokr
#17
(10-09-18, 11:20 PM)حريف برمجة كتب : هذا مثال فاتورة لعلها تفيدك بشي .

http://vb4arb.com/vb/showthread.php?tid=26
نعم يفيد كثيرا اي شي عن الداتا قريد  Big Grin
تسلم وبارك الله فيك .  Heart ... وشكرا للجميع
الرد }}}
تم الشكر بواسطة: elgokr



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


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم