Работа с полями и курсорами

Работа с полями и курсорами

Плагин SaveToDB позволяет обновлять именованные ячейки значениями активной строки таблицы и изменять значения активной строки при изменении именованных ячеек.

Такие ячейки должны иметь имена в специальном формате: field_<имя таблицы>_<имя поля>.

Имена ячейки можно задать с помощью пункта "Присвоить имя..." меню Формулы.

Пробелы в имени поля следует опустить.

Для быстрого создания ячеек для целой строки можно использовать пункт "Добавить поля формы" мастера форм.

Затем можно удалить неиспользуемые ячейки. Используйте после этого пункт "Очистить ошибочные именованные ячейки" мастера форм.

Для подсветки активной строки таблицы можно добавить курсор, с помощью пункта "Добавить курсор" мастера форм.

Строка курсора может быть изменена с помощью макросов VBA за счет вызова методов плагина типа MoveNext, MovePrevious, MoveFirst, MoveLast.

Ячейки могут иметь несколько имен. За счет этого можно обновлять дочерние запросы.

Идея проста. Ячейка должна иметь два имени:

  • field_<имя мастер таблицы>_<имя поля>
  • <имя параметра дочерней таблицы>

В этом случае, когда пользователь переходит на новую строку, плагин обновляет ячейку поля значением активной строки.

Затем плагин обновляет дочерний запрос, т.к. изменилось значение его параметра (за счет именованной ячейки).

См. подробности о создании параметров в разделе Группа "Параметры запроса".

Эта техника может быть повторена на листе несколько раз.

Ниже приведен пример использования описанных возможностей:

Таблица CustomerIndex является родительской для таблицы Customers.

Таблица Customers является родительской для таблицы Orders.

Таблица Orders является родительской для таблицы OrderDetails.

Во все три таблицы добавлены курсоры.

Таблицы Customers и Orders имеют скрытые колонки. Значения этих колонок отображаются в полях формы.

Это можно видеть в активной ячейке с именем field_Customers_City.

Вы можете попробовать этот пример в папке Northwind примеров для Microsoft SQL Server и Microsoft SQL Server Compact.

 

Этот веб-сайт использует куки. Продолжая использовать веб-сайт, Вы принимаете условия Cookie Policy.