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