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] [Новые] |