Вторник, 30.04.2024, 20:05
Приветствую Вас Гость | RSS
Категории раздела
Вход на сайт
Поиск
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

MS Access - разработка баз под заказ

Каталог файлов


Программный модуль, облегчающий подключение таблиц из внешних баз
[ Скачать с сервера (195.3 Kb) ]04.10.2018, 11:15

Программный модуль может работать с Access 2000-2016.

Может подключать базы защищённые паролем.

Может работать с 32-х и 64-х разрядными версиями Access

Поддерживает форматы баз mdb и accdb.

 

Программный модуль состоит из двух таблиц USystemBases и USystemTables. В первой таблице содержатся пути к внешним базам данных, а во второй - список подключаемых таблиц для каждой внешней базы.

Примечание: Таблицы являются пользовательскими системными (Usys). Чтобы их увидеть, необходимо в параметрах навигации установить флажок "Показывать системные объекты".

Трёх запросов , которые используется для контроля подключения к внешним базам. Программный модуль включает в себя также три формы - frmSystemBases (Подключаемые базы), frmSystemTables (Подключаемые таблицы) и frmSystemBasesAdd (Добавление базы). Главной формой является frmSystemBases, а две остальные вызываются из первой. Загружаем форму frmSystemBases. Она представляет собой ленточную форму. Для каждой записи выводятся три поля "Ник базы", "Описание базы", "Пароль" (переключатель), "Подключение" (флажок). В примечании формы расположено поле "Путь к базе". "Ник базы" содержит краткое название базы, например "Кадры", которое потом будет использоваться в предупреждающих и информационных сообщениях. "Описание базы" - содержит более полное описание содержимого базы, например: "Список сотрудников предприятия". Что бы изменить значение полей "Ник базы", "Описание базы", надо дважды кликнуть левой клавишей мыши на выбранном поле. Будет запрошено новое значение. "Пароль" (переключатель) - показывает, запаролена ли данная база. "Подключение" (флажок) - указывает на то, подключена ли база в данный момент. А поле "Путь к базе" содержит полный путь к базе, включая имя файла самой базы. Он может быть как локальным, так и сетевым. (этот программный модуль не работает с Интернет базами).

Кроме того, каждой записи соответствуют две кнопки: "Подключить таблицы" и "Отключить таблицы". Они предназначены для манипулирования с таблицами одной, выбранной базы. При нажатии кнопки "Отключить таблицы", от текущей базы отключаются, все прилинкованные таблицы, относящиеся к выбранной базе. При нажатии на кнопку "Подключить таблицы", сначала таблицы отключаются (если они подключены), а потом подключаются вновь.

Внизу формы расположен ряд кнопок "Добавить базу", "Изменить", "Удалить базу", "Изменить путь", "Таблицы", "Подключить", "Отключить" и "Выход".

При нажатии кнопки "Добавить базу", грузится форма frmSystemBasesAdd, в которой задается: ник, описание, пароль (если он есть) и путь к базе. Задание пути к базе происходит через стандартное окно выбора файла. Кнопка с тремя "***" позволяет просмотреть введённый пароль.

ВНИМАНИЕ! После добавления новой базы необходимо через кнопку "Таблицы" задать таблицы для подключения из новой базы.

При нажатии кнопки "Изменить", можно изменить параметры подключаемой базы.

При нажатии кнопки "Удалить базу", сначала отключаются все подключенные таблицы, относящиеся к выбранной базе, затем они удаляются из таблицы SystemTables, а затем из таблицы SystemBases удаляется запись о самой таблице. По кнопке "Изменить путь" выводится стандартное окно выбора файла, и можно задать новый путь к выбранной базе данных.

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

Кнопка "Таблицы" служит для загрузки формы frmSystemTables. Она предназначена для выбора подключаемых таблиц и задания новых имен для них. Форма frmSystemTables представляет собой ленточную форму с тремя столбцами: "Старое имя", "Новое имя", "Подключение".

"Старое имя" - это имя, которое имеет таблица во внешней базе данных.

"Новое имя" - имя, которое присваивается таблице при подключении. Если поле остается пустым, то таблице присваивается то же имя, что и во внешней базе данных.

"Подключение" - поле-флажок. Если он установлен, то таблица будет подключаться. Если нет, то не будет.

В заголовке формы выводится ник (краткое название) базы, А в примечании расположены кнопки. "Считать таблицы", "Выделить", "Отменить", "Выбрать", "Выход".

После добавления новой базы, список таблиц, относящихся к ней пуст.

Чтобы его заполнить, необходимо нажать кнопку "Считать таблицы". Будут считаны имена таблиц из внешней базы данных и занесены в таблицу USystemTables. Если в таблице USystemTables уже есть таблицы, относящиеся к выбранной базе, то сначала они будут удалены, а потом занесены снова.

Кнопка "Выделить" помечает все таблицы, относящиеся к выбранной базе, как подлежащие присоединению к рабочей базе.

Кнопка "Отменить" выполняет обратное действие снивая выделение.

Кнопка "Выбрать" позволяет изменять список выводимых таблиц. Могут выводиться либо все таблицы, либо только присоединяемые (выделенные) таблицы.

Ну а кнопка "Выход" закрывает форму.

Кнопка "Подключить" на форме frmSystemBases (Подключаемые базы), подключает все таблицы со всех баз данных.

Кнопка "Отключить" - отключает все таблицы.

Кнопка "Выход" закрывает форму.

Кроме того, есть ещё три программных модуля "Module1", "objFSO" и "modConnect", В "Module1" входят процедуры, описания и функции, так сказать общего назначения, в "modConnect" - процедуры и функции разработанные специально для этой программы, в "objFSO" входят процедуры и функции, которые являются частью библиотеки функций FSO(FileSystemObject). Все подпрограммы и функции я старался снабдить комментариями и описанием, так, что в них можно будет разобраться. А вот легко или нет, это уж как получится.

Как говорится - совершенству нет предела. Так и в этом программном модуле можно найти места, которые можно улучшать и оптимизировать.

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

Можно переработать модуль так, чтобы он мог подключать не только таблицы из баз Access, но и таблицы dBase, книги Excel и т.п.

Смотрите, пользуйтесь, модернизируйте, выкладывайте свои предложения и исправления.

 

Дмитрий Сонных (aka Joss) banderlogi@bk.ru

http://am.rusimport.ru/MSAccess/profile.aspx?id=110

 

Комплект

sd_Connect2k43.mdb - пример в формате Access 2000

sd_Connect7k43.accdb - пример в формате Access 2007

sd_Connect7k43I.accdb - пример в формате Access 2007 с улучшенным интерфейсом

sd_Connect_v43.txt - документация

sd_TestTbl.mdb - тестовая база

sd_TestTblPsw.mdb - тестовая база с паролем (пароль: Password)

История

4,3 - таблицы SystemBases и SystemTables переименованы в USystemBases и USystemTables

4.2 - добавлен режим "Изменить"

4.1 - небольшие доработки интерфейса и кода

4.0 - добавлена возможность работать в 64-х битных версиях

3.1 - небольшая доработка кода

3.0 - добавлена возможность подключения запароленных баз данных

2.1 - немного доработан интерфейс

2.0 - первая публичная версия, формат Access 2000

Категория: Мои файлы | Добавил: sonni-dim | Теги: MS Access, таблицы, подключение
Просмотров: 167 | Загрузок: 9 | Рейтинг: 0.0/0
Всего комментариев: 0
avatar