(06-09-18, 02:00 AM)EYADISMAIL كتب : حاليا يتم الادخال عن طريق التكست بوكس الي قاعدة البيانات ثم تعرض البيانات في الداتا قريد ... اذا كانت هناك طريقة اسهل اخي الكريم . بارك الله في
للعلم . الادخال عن طريق رقم الصنف فقط باقي البيانات تعرض تلقائي
بما ان حالياً يتم ادخل البيانات الى قاعدة البيانات
ثم عمل استعلام لجب البيانات وعرض البيانات فى Datagridview
فكل المطلوب هو فقط التعديل على كود الاستعلام
ضع عنا فط كود الاستعلام التى يتم جلب بيانات الفاتورة
لتعبئة الـ DataGridView
وساقوم بتعديلها طبقاً ما لديك ووضعه لك هنا
تحياتى لك
وتمنياتى لك التوفيق
{وَقُل رَّبِّ زِدْنِي عِلْمًا}
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]
ساهم دائماً فى لكل من يقوم بالمساهمة
فى حل المشكلة او الاستفسار لديك فالجميع هنا يعمل
على مساعدة الاخرين لوجه الله وان تحتسب له اجر عند الله
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
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
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
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
السلام عليكم
ماشاء الله -احسنت . بارك الله فيك اخي العزيز . وجميع الاخوة على الرد
تسلم وجعله الله في ميزان حسناتك . تمام ما اريد وزيادة