Добавление столбца вычислений во все таблицы базы данных access

#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. Не могли бы вы просто перебрать свои таблицы и экспортировать запрос, который выполняет вычисления?