#vba #ms-access
#vba #ms-access
Вопрос:
У меня есть база данных из 250 таблиц с одинаковой структурой. Мне нужно было бы добавить вычисляемый столбец ко всем таблицам. Однако я получаю ошибку времени выполнения 3191, и я просто не могу понять, что не так. У кого-нибудь есть идея?
Спасибо M.
Dim db As DAO.Database
Dim td As DAO.TableDef
Dim Fld As DAO.Field2
Set db = CurrentDb()
For Each td In db.TableDefs
Set Fld = td.CreateField("Stock", dbInteger)
Fld.Expression = "[CS]-[RS]-[TBO]"
td.Fields.Append Fld
Set Fld = Nothing
Next
Set td = Nothing
Set db = Nothing
Комментарии:
1. Вычисляемые поля принадлежат запросам, а не таблицам. . — Кроме того, 250 таблиц с одинаковой структурой — плохая идея, и вы должны исправить это как можно скорее, потому что в какой-то момент вам все равно придется.
2. Андре, честно говоря, я решил использовать access только для изменения и фильтрации данных, чтобы иметь возможность впоследствии экспортировать их в Excel. Изначально у меня было 250 текстовых файлов (остальные различные типы запасов в день на уровне номенклатуры). Я надеялся, что смогу подключить данные к одной таблице, где я получу расчетный запас на каждый день и товар. к сожалению, я застрял в поле start — calculating.
3. Не могли бы вы просто перебрать свои таблицы и экспортировать запрос, который выполняет вычисления?