Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Microsoft Access - программирование и готовые решения


Выпуск 15. Access Rapid Start - конструктор приложений в Access

Подписка: "Access 2003/2010 - программирование и готовые решения"
Дата: 13.08.2012
Автор: Парусников Алексей
Сайт: http://www.accessoft.ru под редакцией с http://www.leadersoft.ru
Загрузка: ARS
Получить ключ: Key_ARS

В данном цикле статей рассказывается о работе с конструктором приложений Access - Access Rapid Start. Дополнительные вопросы по этой теме Вы можете задать на форуме. Вы так же можете заказать персональную консультацию или перенос вашего проекта в ARS, связаться с автором для решения вопросов о создании программы на базе ARS - в последнем случае вы кроме готового продукта получите возможность самостоятельно его развивать.


    Данная статья ориентирована на начинающих разработчиков Access, желающих более углубленно изучить возможности программирования в Access и сделать свои приложения более профессиональными.
Настройки ARS 2.0

     Настройки новой версии ARS значительно изменились, что потребовало отдельной статьи для их объяснения. Основные отличия связаны с новой возможностью утилиты работать с SQL Server.

     Как и прежде, в системе ARS используются настройки двух видов: локальные и общие. Только теперь локальные делятся на два дополнительных типа: шифрованные, которые хранятся в файле const и открытые, которые записываются в файл LocalSet.ini. Общие настройки хранятся как и прежде в служебной таблице tab_A_Const. Оба вида локальных настроек можно редактировать через форму настроек, либо вручную (за исключением файла const). Однако во избежание сбоя работы программы прямое редактирование настроек в файле и таблице не рекомендуется. По этой причине все служебные таблицы сделаны скрытыми. А вот для общих (глобальных) настроек теперь появился отдельный пункт меню, который так и называется – Глобальные настройки. Так же отдельным пунктом меню (для Access проектов) редактируется список линкуемых таблиц. Напомню, что эти разделы по умолчанию скрыты и добраться до них может только тот, кому отрыт полный доступ на форму frm_Start, через пункт контекстного меню стартовой формы «Отображать скрытые разделы меню».

Локальные настройки

Интерфейс

     Для извлечения или проверки наличия локальных настроек вкладки Интерфейс используется функция:

funSettings (strName, , DefaultValue, flg_Msg)

где:

  • strName – Обязательный параметр. Код параметра.
  • DefaultValue – Не обязательный параметр. Значение по умолчанию. По умолчанию 0.
  • flg_Msg – Не обязательный параметр. Флаг, при установке которого в True будет выводиться сообщение об отсутствии значения параметра в настройках. По умолчанию False.

Назначение настроек

  1. Разрешение форм (*) - из списка указывается величина минимального разрешения для форм. В результате, при запуске программы на мониторах с различным разрешением, размеры форм будутавтоматически скорректированы в сторону увеличения, начиная с этого минимального разрешения. По умолчанию: 800х500.
  2. Подогнать размер форм под окно приложения (*) - при установке флажка формы программы будут увеличены до максимальных размеров. По умолчанию: 1.
  3. Поправочный коэффициент (*) - указывается, если требуется скорректировать размеры форм, например 1,02 или 0,97. По умолчанию: 1.
  4. Ограничение количества выводимых на экран записей (*) - задает количество отображаемых записей на поисковой форме. Если поставить максимальное значение из списка (65 000), то при большом количестве записей (например десятки тысяч) поисковая может начать тормозить. По умолчанию: 100.
  5. Подсчет общего количества записей, не зависимо от граничения TOP (*) - при установке флажка поисковые формы будут подсчитывать общее кол-во записей, не зависимо от того, что выбрано в предыдущем параметре. При большом количестве записей это может сказаться на производительности работы поисковой. По умолчанию 0.
  6. Вызов календарика в мастере фильтров, не зависимо от типа поля - при установке флажка в форме мастера фильтров будут показаны кнопки вызова календарика. По умолчанию: фильтруемое поле должно быть типа Дата/Время.
  7. Разворот дополнительной информации при загрузке мастера фильтров - при установке флажка в открывающейся форме мастера фильтров будут показаны примеры фильтрации.
  8. Задержка времени перед отправкой запроса на сервер, миллисек (*) - установка флажка сокращает сетевой трафик, отправляя запросы не по каждому набору символов, а по завершении набора искомого слова.
  9. Язык проекта - из списка указывается текущий язык перевода проекта. Перевод делается согласно данным справочника, открываемого из раздела: Разработчик - Языковые настройки.
  10. Включить перевод (*) - установка флажка означает, что все надписи элементов форм будут теперь переводится на выбранный язык.

1. Общие

     Для извлечения локальных настроек из файла const можно воспользоваться следующим кодом:

Nz(SLookup("SELECT f2 FROM tab_Const WHERE SetType=Код1 AND f1=Код2", , , sPathSettingFile), "")

Где:
Код1 – один из кодов левого списка. Например: 1 (общие), 3 (автолинковка)
Код2 – один из кодов, записанного в поле Код таблицы настроек. Например: 1 (Наименование программы), 2 (Разработчик)
sPathSettingFile – абсолютный путь к файлу шифрованных настроек const. По умолчанию CurrentProject.Path & "\ const"

  1. Название программы (*) – указывается название вашего приложения, которое будет отображаться в Title проекта и формах служебных сообщений
  2. Разработчик – указывается название разработчика
  3. Связь с разработчиком – указывается адрес разработчика
  4. Страница программы – указывается обозначение страницы программы
  5. Адрес страницы – указывается адрес страницы программы

2. Свойства подключения

     Эти настройки критически важные, так как обеспечивают первое подключение к серверу или базе данных mdb/accdb. Удаление или неправильное задание этих настроек приведет к сбою подключения.

  1. Сервер (или IP адрес):Порт – только для SQL-проектов. Указывается имя сервера или его IP, затем через : номер открытого порта. Например: 123.456.25.45:1134
  2. Имя базы данных – только для SQL-проектов. Указывается имя базы данных для подключения.
  3. Пользователь – только для SQL-проектов. Указывается пользователь, под именем которого происходит подключение к серверу. Например: sa. В правом поле Пароль нужно указать его пароль.
  4. Префикс для администраторских таблиц – указывается префикс служебных таблиц. По умолчанию tab_A_
  5. Application name for SQL Server – только для SQL-проектов. Имя приложения, подключившегося к серверу. Далее это имя отображается в логах сервера, когда он мониторит доступ к своим ресурсам.
  6. Тип базы даных (mdb_2003 или SQL) – указывается один из вариантов: mdb_2003 – для проектов Access, SQL – соответственно для SQL-проектов.

     Если стереть настройки 2.4 и 2.6, то ARS назначит по умолчанию префикс таблиц tab_A_ и запросит тип базы данных.

     SA лучше не использовать – это не безопасно, т.к. пароль хоть и в зашифрованном виде, но хранится локально в ado-файле. Лучше использовать учетную запись, которая имеет доступ только на чтение и только к таблицам, используемым для подключения (tab_A_Users и tab_A_Accounts).

     В SQL проекте, созданном в ARS, авторизация пользователя происходит следующим образом:

  • Используя данные, указанные в п. 2.1 – 2.3, программа осуществляет первое подключение к БД на сервере.
  • Далее программа смотрит в таблицу tab_A_Accounts, в которой прописаны остальные учетные записи сервера, имеющие доступ к эксплуатируемой БД, и осуществляет второе и окончательное подключение.

     Необходимый (или желательный) минимум учетных записей:

  • Администратор ИС - эта учетка имеет доступ на запись к таблицам tab_A_. Доступ к остальным таблицам – на усмотрение разработчика. Может он не захочет, чтобы админ ИС видел данные.
  • Пользователь на чтение - эта учетка обычно используется для руководства, которому, как правило, только просмотр и нужен.
  • Пользователь на запись - эта учетка для работников, осуществляющих непосредственный ввод и редактирование информации в БД.

     Пользовательские учетки доступ на запись к таблицам tab_A_ иметь не должны – только чтение.

     Раздача прав доступа учетным записям сервера осуществляется средствами самого севера при помощи любого SQL-менеджера. Кроме вышеуказанных учетных записей у БД должна быть еще одна учетка Владельца БД. Либо это будет суперадмин SA, либо это будет еще одна учетная запись, имеющая полный доступ на все ресурсы БД. Второй вариант наиболее предпочтителен, т.к. на сервере может эксплуатироваться много баз данных, каждую из которых будет сопровождать свой отдельный администратор.

     В итоге получается, что ARS использует смешанный режим доступа к ресурсам ИС. Доступ, регулируемый интерфейсом пользователя и доступ, регулируемый системой безопасности сервера. Привязка пользователя ИС к учетной записи сервера осуществляется в форме frm_AdmPassword.

3. Автолинковка

     Используется только для Access проектов.

  1. Автолинковка БД, расположенной в корневом каталоге программы – пишется абсолютный путь к файлу базы данных Access.
  2. Проверять линки (1-всех таблиц; 0-первой таблицы) – согласно указанному параметру при старте программы происходит проверка линков таблиц. Если линк битый, тогда производится попытка подключения БД по пути, указанному в настройке выше.

4. Автообновление

     Автоматическое обновление версий программ.

  1. Сервер (или IP адрес):Порт – Указывается имя сервера или его IP, затем через : номер открытого порта. Например: 123.456.25.45:1134
  2. Имя базы данных – Указывается имя базы данных для подключения.
  3. Пользователь – Указывается пользователь, под именем которого происходит подключение к серверу. Например: sa. В правом поле Пароль нужно указать его пароль.
  4. Код ПО (db_PC.tab_PO.KodPO) для автообновления – код программного обеспечения

5. Привязка пользователя

     Привязка пользователя ИС к некой сущности (объекту) БД. Например, к коду отдела, подразделения, филиала и т.д. Для возможности регулирования доступа пользователей только к 'своим' записям.

  1. Общее наименование объектов – например, Филиал
  2. Справочник объектов – например =funOpenSpaw("tab_S_Filial",[Tools_ID],[txt_Tools_ID])
  3. Хранимая процедура, возвращающая наименование привязанного объекта – для отображения наименования сущности используется хранимая процедура сервера.
  4. Доступ пользователя ко всем объектам – подпись для поля-флага, говорящего программе о том, что данный пользователь имеет доступ ко всем сущностям БД.
  5. Описание привязки – например, Привязка пользователя к филиалу предприятия

     Хранимая процедура (п. 5.3) может быть например такая:

ALTER PROCEDURE [dbo].[CaptionTools_ID]
@Filial_id integer
AS
SET NOCOUNT ON;
SELECT FilialName FROM tab_S_Filial WHERE(Filial_id=@Filial_id)

     А в настройке пишем так: CaptionTools_ID

Глобальные настройки

     Для извлечения или проверки наличия глобальных настроек используется функция:

     funSettings (strName, , DefaultValue, flg_Msg)

     где:

  • strName – Обязательный параметр. Код параметра.
  • DefaultValue – Не обязательный параметр. Значение по умолчанию. По умолчанию 0.
  • flg_Msg – Не обязательный параметр. Флаг, при установке которого в True будет выводиться сообщение об отсутствии значения параметра в настройках. По умолчанию False.

     Настройки разделены по типам, которые может задавать пользователь. Обязательными параметрами настройки являются:

  • Код константы – числовой код, по которому будет осуществляться поиск настройки
  • Значение константы – значение настройки

Список линкуемых таблиц

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


Полезные ссылки

Интернет магазин от Leadersoft.ru
В этом магазине Вы можете купить не только готовое программное обеспечение для бизнеса, а также найти компактные решения для самостоятельного проектирования на Microsoft Access, SQL Server или ASP.NET

В избранное