RE: سؤال : كود يجمع العناصر المتشابة في داتا قريد عن الاظافة بدون تكرار - elgokr - 06-09-18
(06-09-18, 02:00 AM)EYADISMAIL كتب : حاليا يتم الادخال عن طريق التكست بوكس الي قاعدة البيانات ثم تعرض البيانات في الداتا قريد ... اذا كانت هناك طريقة اسهل اخي الكريم . بارك الله في
للعلم . الادخال عن طريق رقم الصنف فقط باقي البيانات تعرض تلقائي
بما ان حالياً يتم ادخل البيانات الى قاعدة البيانات
ثم عمل استعلام لجب البيانات وعرض البيانات فى Datagridview
فكل المطلوب هو فقط التعديل على كود الاستعلام
ضع عنا فط كود الاستعلام التى يتم جلب بيانات الفاتورة
لتعبئة الـ DataGridView
وساقوم بتعديلها طبقاً ما لديك ووضعه لك هنا
تحياتى لك
وتمنياتى لك التوفيق
RE: سؤال : كود يجمع العناصر المتشابة في داتا قريد عن الاظافة بدون تكرار - حريف برمجة - 06-09-18
(06-09-18, 02:00 AM)EYADISMAIL كتب : اخي الكريم ما المطلوب مني لكي ارسله لك وبارك الله فيك
اضغط المثال وارسله وانا اعدله لك ،،،،
RE: سؤال : كود يجمع العناصر المتشابة في داتا قريد عن الاظافة بدون تكرار - EYADISMAIL - 10-09-18
السلام عليكم ورحمة الله وبركاته .. وبارك الله فيكم وجزاكم كل خير على الرد
بالنسبة للسؤال لقد قمت بعمل نموذج يحتوي علي الكود وطريقة الادخال ...
للعلم لقد قمت بازالة الترقيم التلقائي من قاعدة البيانات و المفتاح الاسياسي حتى تتمكن من اضافة العنصر مرتين للتجربة ..
طلبي اذا سمحتم . عند الادخال نفس العنصر يقوم بجمع عدد الوحدات والاجمالي على نفس اسم الصنف ورقم الصنف
2 سؤال اخر هل يمكن الادخال عن طريق الداتا قريد؟
3-بارك الله فيكم وجزاكم كل خير .
النموذج في المرفقات.
RE: سؤال : كود يجمع العناصر المتشابة في داتا قريد عن الاظافة بدون تكرار - 911 - 10-09-18
كود :
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
RE: سؤال : كود يجمع العناصر المتشابة في داتا قريد عن الاظافة بدون تكرار - EYADISMAIL - 10-09-18
(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
السلام عليكم
ماشاء الله -احسنت . بارك الله فيك اخي العزيز . وجميع الاخوة على الرد
تسلم وجعله الله في ميزان حسناتك . تمام ما اريد وزيادة
RE: سؤال : كود يجمع العناصر المتشابة في داتا قريد عن الاظافة بدون تكرار - حريف برمجة - 10-09-18
هذا مثال فاتورة لعلها تفيدك بشي .
http://vb4arb.com/vb/showthread.php?tid=26442
RE: سؤال : كود يجمع العناصر المتشابة في داتا قريد عن الاظافة بدون تكرار - EYADISMAIL - 11-09-18
(10-09-18, 11:20 PM)حريف برمجة كتب : هذا مثال فاتورة لعلها تفيدك بشي .
http://vb4arb.com/vb/showthread.php?tid=26
نعم يفيد كثيرا اي شي عن الداتا قريد
تسلم وبارك الله فيك . ... وشكرا للجميع
|