VBA Как добавить программно таблицу и создать в ней поля в б/д Access ? |
Private Sub Form_Load() Set BD = DAO.OpenDatabase("D:\Prohect\MySite.mdb")
CmdCommand.CommandText = "SELECT * FROM " & List5.List(f) Set Rec = CmdCommand.Execute() Set tdfNew = BD.CreateTableDef(s) For f3 = 0 To Rec.Fields.Count - 1 If Rec.Fields(f3).Type = 3 Or Rec.Fields(f3).Type = 19 Or Rec.Fields(f3).Type = 17 Then 'Long (Длинное целое) AUTO_INCREMENT Set fld = tdfNew.CreateField(Rec.Fields(f3).name, dbLong) ElseIf Rec.Fields(f3).Type = 203 Then 'Текст Set fld = tdfNew.CreateField(Rec.Fields(f3).name, dbMemo) 'fld.size = Tbl.Fields(f3).size ElseIf Rec.Fields(f3).Type = 16 Or Rec.Fields(f3).Type = 2 Then Set fld = tdfNew.CreateField(Rec.Fields(f3).name, dbInteger) ElseIf Rec.Fields(f3).Type = 202 Or Rec.Fields(f3).Type = 130 Then 'CHAR Set fld = tdfNew.CreateField(Rec.Fields(f3).name, dbText) ' fld.size = Tbl.Fields(f3).size ElseIf Rec.Fields(f3).Type = 11 Then Set fld = tdfNew.CreateField(Rec.Fields(f3).name, dbBoolean) ElseIf Rec.Fields(f3).Type = 4 Then Set fld = tdfNew.CreateField(Rec.Fields(f3).name, dbCurrency) ElseIf Rec.Fields(f3).Type = 5 Then Set fld = tdfNew.CreateField(Rec.Fields(f3).name, dbDouble) ElseIf Rec.Fields(f3).Type = 135 Or Rec.Fields(f3).Type = 133 Then 'Date Set fld = tdfNew.CreateField(Rec.Fields(f3).name, dbDate) Else Stop tdfNew.Fields.Append tdfNew.CreateField(Rec.Fields(f3).name, dbText) End If If Rec.Fields(f3).Properties("ISAUTOINCREMENT").value Then fld.Attributes = dbAutoIncrField End If tdfNew.Fields.Append fld Next
http://www.sql.ru/forum/1200067/vba-kak-dobavit-programmno-tablicu-i-sozdat-v-ney-polya-v-b-d-access
Комментировать | « Пред. запись — К дневнику — След. запись » | Страницы: [1] [Новые] |