تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] مشكلة فى إضافة حقول جديدة فى جدول موجود
#11

.rar   ComSys.rar (الحجم : 1.57 م ب / التحميلات : 7)
(17-02-20, 03:43 AM)asemshahen5 كتب : قاعدة البيانات التي في المرفقات معطوبة يرجى اعادة رفعها الاكسيس عندي 2007 .

القاعدة مش معطوبة هى معمولة بأكسس 2010 وعموما أعيد رفعها تانى
الرد
تم الشكر بواسطة: asemshahen5
#12
   

الرجاء حول قاعدة البيانات الى 2003 او 2007 و الله الموفق .
الرد
تم الشكر بواسطة:
#13
نسخة 2003 من القاعدة


الملفات المرفقة
.rar   ComSys 2003.rar (الحجم : 957.17 ك ب / التحميلات : 3)
الرد
تم الشكر بواسطة:
#14
(17-02-20, 10:23 PM)freehego كتب :
(17-02-20, 03:43 AM)asemshahen5 كتب : قاعدة البيانات التي في المرفقات معطوبة يرجى اعادة رفعها الاكسيس عندي 2007 .

القاعدة مش معطوبة هى معمولة بأكسس 2010 وعموما أعيد رفعها تانى

ComSys.rar

كود :
Sub AlterTableX()
   Dim da As New OleDbDataAdapter("select (en_sal_band_part + ' ' + 'int') from sal_band", con)
   Dim dt As New DataTable
   da.Fill(dt)
   Dim lst As New List(Of String)
   For Each r As DataRow In dt.Rows
       lst.Add(r(0))
   Next
   Dim feilds = String.Join(",", lst)
   If con.State <> ConnectionState.Open Then con.Open()
   Dim cmd As New OleDbCommand("ALTER TABLE Emp_Sal ADD " & feilds, con)
   cmd.ExecuteNonQuery()
   con.Close()
   cmd = Nothing
   MsgBox("تم إضافة الشهر الجديد بنجاح", MsgBoxStyle.Information, "نجاح")
End Sub
الرد
تم الشكر بواسطة: freehego , freehego
#15
أستاذى الفاضل alsalamoni
أولا : تم تطبيق الكود المرفق منك بنجاح أشكرك جزيل الشكر لأنه أتعبنى لفترة طويلة
ثانيا : أود لو تكرمت تعديل الكود ليعمل على الإضافة إلى جدول tbl_General بالإضافة الى جدول Emp_Sal ، كذلك أود أن يتم إدراج الحقول بقيمة إفتراضية (0) لكل حقل
الرد
تم الشكر بواسطة:
#16
عدل الكود ليكود كالتالي :

PHP كود :
   Sub AlterTableX1(field_row As ListBox)
 
       Dim intLoop As Integer
        Dim strSQL 
As String
        Dim strSQL1 
As String
        Dim sReturn 
As String ""
 
       For intLoop 0 To field_row.Items.Count 1
            Dim drSelectedItem 
As DataRowView field_row.Items(intLoop)
 
           sReturn drSelectedItem.Item(0).ToString
            strSQL 
"ALTER TABLE Emp_Sal ADD " _
            sReturn 
"  LONG INTEGER"
 
           ExcuteNoneQury(strSQL)
 
           strSQL1 "ALTER TABLE tbl_General ADD " _
            sReturn 
"  LONG INTEGER"
 
           ExcuteNoneQury(strSQL1)
 
       Next intLoop
        MsgBox
("تمت الإضافة بنجاح"MsgBoxStyle.Information"البرنامج ")
 
   End Sub 

-

PHP كود :
   Sub ExcuteNoneQury(strSQL As String)
 
       Dim cn As New OleDb.OleDbConnection("Provider = Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\TBLCO.mdb")
 
       Dim Cmd As New OleDb.OleDbCommand(strSQLcn)
 
       If cn.State ConnectionState.Closed Then cn.Open()
 
       Cmd.ExecuteReader()
 
       If cn.State ConnectionState.Open Then cn.Close()
 
   End Sub 
الرد
تم الشكر بواسطة: freehego
#17
الكود مع إضافة 0 كقيمة افتراضية في الاعمدة المضافة :

PHP كود :
   Sub AlterTableX1(field_row As ListBox)
 
       Dim intLoop As Integer
        Dim strSQL 
As String
        Dim strSQL1 
As String
        Dim sReturn 
As String ""
 
       For intLoop 0 To field_row.Items.Count 1
            Dim drSelectedItem 
As DataRowView field_row.Items(intLoop)
 
           sReturn drSelectedItem.Item(0).ToString
            strSQL 
"ALTER TABLE Emp_Sal ADD " _
            sReturn 
"  LONG DEFAULT '0' NOT NULL" 'DECIMAL (28,2)
            ExcuteNoneQury(strSQL)
            strSQL1 = "ALTER TABLE tbl_General ADD " & _
            sReturn & "  LONG DEFAULT '
0' NOT NULL " 'DECIMAL (28,2)
 
           ExcuteNoneQury(strSQL1)
 
           Dim strSql2 As String "update Emp_Sal Set " sReturn "=0"
 
           ExcuteNoneQury(strSql2)
 
           Dim strSql3 As String "update tbl_General Set " sReturn "=0"
 
           ExcuteNoneQury(strSql3)
 
       Next
        MsgBox
("تمت الإضافة بنجاح"MsgBoxStyle.Information"البرنامج ")
 
   End Sub
    Sub ExcuteNoneQury
(strSQL As String)
 
       Dim cn As New OleDb.OleDbConnection("Provider = Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\TBLCO.mdb")
 
       Dim Cmd As New OleDb.OleDbCommand(strSQLcn)
 
       If cn.State ConnectionState.Closed Then cn.Open()
 
       Cmd.ExecuteReader()
 
       If cn.State ConnectionState.Open Then cn.Close()
 
   End Sub 
الرد
تم الشكر بواسطة: freehego
#18
(18-02-20, 04:44 PM)asemshahen5 كتب : الكود مع إضافة 0 كقيمة افتراضية في الاعمدة المضافة :

PHP كود :
   Sub AlterTableX1(field_row As ListBox)
 
       Dim intLoop As Integer
        Dim strSQL 
As String
        Dim strSQL1 
As String
        Dim sReturn 
As String ""
 
       For intLoop 0 To field_row.Items.Count 1
            Dim drSelectedItem 
As DataRowView field_row.Items(intLoop)
 
           sReturn drSelectedItem.Item(0).ToString
            strSQL 
"ALTER TABLE Emp_Sal ADD " _
            sReturn 
"  LONG DEFAULT '0' NOT NULL" 'DECIMAL (28,2)
            ExcuteNoneQury(strSQL)
            strSQL1 = "ALTER TABLE tbl_General ADD " & _
            sReturn & "  LONG DEFAULT '
0' NOT NULL " 'DECIMAL (28,2)
 
           ExcuteNoneQury(strSQL1)
 
           Dim strSql2 As String "update Emp_Sal Set " sReturn "=0"
 
           ExcuteNoneQury(strSql2)
 
           Dim strSql3 As String "update tbl_General Set " sReturn "=0"
 
           ExcuteNoneQury(strSql3)
 
       Next
        MsgBox
("تمت الإضافة بنجاح"MsgBoxStyle.Information"البرنامج ")
 
   End Sub
    Sub ExcuteNoneQury
(strSQL As String)
 
       Dim cn As New OleDb.OleDbConnection("Provider = Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\TBLCO.mdb")
 
       Dim Cmd As New OleDb.OleDbCommand(strSQLcn)
 
       If cn.State ConnectionState.Closed Then cn.Open()
 
       Cmd.ExecuteReader()
 
       If cn.State ConnectionState.Open Then cn.Close()
 
   End Sub 

الف الف الف شكر وربنا يجعله فى ميزان حسناتك تم حل المشكلة والكود يعمل بنجاح
الرد
تم الشكر بواسطة: asemshahen5



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


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