Информационные технологииStfw.Ru 🔍

Как из макроса Excel программно создать таблицу Access?

RU.EXCEL
🕛 04.07.2006, 15:25
Q: Подскажите, пожалуйста, как из под Excel программно создать таблицу Access

A: Вот фрагмент кода, который создаёт таблицу "BalanceShifr" базе данных MS Access:

Нint: Не забудьте выставить в Excel ссылки на объекты DAO!
[VBA] Tools/References/Available References/ [x] MicroSoft DAO?.? Library ' Function CreateTable ' Create temporary table "BalanceShifr" into temporary database 

Public Function CreateTable(ByVal dbTemp As Database) As Boolean 

Dim tdfTemр As TableDef
Dim idx As Index
Dim fld As Field 

On Error GoTo errhandle 
 CreateTable = True ' CREATE TABLE "BalanceShifr" Set tdfTemp = dbTemp.CreateTableDef("BalanceShifr") Set fld = tdfTemp.CreateField("ConditionId", dbLong) fld.Required = True tdfTemp.Fields.Append fld Set fld = tdfTemp.CreateField("Account", dbText, 4)
tdfTemp.Fields.Append fld Set fld = tdfTemp.CreateField("SubAcc", dbText, 4) tdfTemp.Fields.Append fld Set fld = tdfTemp.CreateField("Shifr", dbLong) tdfTemp.Fields.Append fld Set fld = tdfTemp.CreateField("Date", dbDate)
fld.Required = True tdfTemp.Fields.Append fld Set fld = tdfTemp.CreateField("SaldoDeb", dbCurrency) tdfTemp.Fields.Append fld Set fld = tdfTemp.CreateField("SaldoKr", dbCurrency) tdfTemp.Fields.Append fld dbTemp.TableDefs.Append tdfTemp 
 ' CREATE INDEX "BalanceShifr" Set tdfTemp = dbTemp.TableDefs("BalanceShifr") Set idx = tdfTemp.CreateIndex("ForeignKey") Set fld = idx.CreateField("ConditionId") idx.Fields.Append fld tdfTemp.Indexes.Append idx Exit Function 

errHandle: MsgBox "Table creating error!", vbExclamation, "Error" CreateTable = False
End Function

Visual Basic   Теги:

Читать IT-новости в Telegram
Информационные технологии
Мы в соцсетях ✉