منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[VB.NET] الاضافة للجداول المرتبطة - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : [VB.NET] الاضافة للجداول المرتبطة (/showthread.php?tid=22975)



الاضافة للجداول المرتبطة - محمد اسماعيل - 18-12-17

السلام عليكم

اريد اضافة صف جديد  في حالة جداول مرتبطة بعلاقة راس براس الجدول الاساسي tb1  , الجدول الثاني tb2


حيث الكود التالي  لاختيار البيانات


كود :
Dim cmd As OleDbCommand = New OleDbCommand("SELECT tb1.ID_mail ,tb1.clien_mail, tb1.model_mail, tb2.probl_acce,tb2.main_acce,tb2.typ_acce  FROM tb1, tb2 where tb1.ID_mail and tb2.ID_acce", con)
           con.Open()
           DataAdapter1 = New OleDbDataAdapter(cmd)
           Dim builder As OleDbCommandBuilder = New OleDbCommandBuilder(DataAdapter1)
           DataSet1 = New DataSet()
           DataAdapter1.Fill(DataSet1, "tb1,tb2")
           DataGridView1.DataSource = DataSet1
           DataGridView1.DataMember = "tb1,tb2"
           con.Close()


كود الاضافة ويعطي خطاء عند الاضافة


كود :
Me.Label2.Text = Me.DataSet1.Tables("tb1").Compute("Max(ID_mail)", "ID_mail >= 0") + "1"

       Using con As New OleDbConnection("provider=microsoft.ace.oledb.12.0;data source=" & Application.StartupPath & "\web_database.accdb;Jet OLEDB:Database Password=12345")
           Using cmd As New OleDbCommand("insert into tb1,tb2 (ID_mail,clien_mail,model_mail,probl_acce,main_acce,typ_acce) values(@ID_mail,@clien_mail,@model_mail,@probl_acce,@main_acce,@typ_acce)", con)
               cmd.Parameters.AddWithValue("@ID_mail", Label2.Text)
               cmd.Parameters.AddWithValue("@clien_mail", TextBox2.Text)
               cmd.Parameters.AddWithValue("@model_mail", TextBox3.Text)
               cmd.Parameters.AddWithValue("@probl_acce", TextBox4.Text)
               cmd.Parameters.AddWithValue("@main_acce", TextBox5.Text)
               cmd.Parameters.AddWithValue("@typ_acce", TextBox6.Text)
               If con.State = ConnectionState.Open Then
                   con.Close()
               End If
               con.Open()
               cmd.ExecuteNonQuery()
               con.Close()
           End Using
       End Using



RE: الاضافة للجداول المرتبطة - طالب برمجة - 18-12-17

الاضافة تتم لكل جدول على حدة


RE: الاضافة للجداول المرتبطة - محمد اسماعيل - 18-12-17

وحقل الترقيم التلقائي id لكل جدول ولا مرة واحدة لاول جدول

حاولات بالكود دة ولكن يعطي خطا بحقل المفتاح اول لاين



كود :
Me.Label2.Text = Me.DataSet1.Tables("tb1").Compute("Max(ID_mail)", "ID_mail >= 0") + "1"

       Dim con As New OleDbConnection("provider=microsoft.ace.oledb.12.0;data source=" & Application.StartupPath & "\web_database.accdb;Jet OLEDB:Database Password=12345")
       Dim cmd As New OleDbCommand("insert into tb1 (ID_mail,clien_mail,model_mail) values(@ID_mail,@clien_mail,@model_mail,)", con)
       cmd.Parameters.AddWithValue("@ID_mail", Label2.Text)
       cmd.Parameters.AddWithValue("@clien_mail", TextBox2.Text)
       cmd.Parameters.AddWithValue("@model_mail", TextBox3.Text)
     

       cmd = New OleDbCommand("insert into tb2 (ID_acce,probl_acce,main_acce,typ_acce) values(@ID_acce,@probl_acce,@main_acce,@typ_acce)", con)
       cmd.Parameters.AddWithValue("@ID_acce", Label2.Text)
       cmd.Parameters.AddWithValue("@probl_acce", TextBox4.Text)
       cmd.Parameters.AddWithValue("@main_acce", TextBox5.Text)
       cmd.Parameters.AddWithValue("@typ_acce", TextBox6.Text)
       If con.State = ConnectionState.Open Then
           con.Close()
       End If
       con.Open()
       cmd.ExecuteNonQuery()
       con.Close()