Как из макроса 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