powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Можно ли?!?!? №1
13 сообщений из 13, страница 1 из 1
Можно ли?!?!? №1
    #32102409
MixaCh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет Всем!!!

Все собирался задать один вопрос - вот собрался....
Можно ли: вызвать из одной Access базы другую в ТОМ ЖЕ окне?!?!?

Поясню, зачем мне это надо...
Клиент Access, сервер - MSSQL7.0
Создал описание обновлений клиентской части на сервере... хотел использовать для упрощения скидки новых версий....

Задумка такая - пользователь входит, набирает логин, пароль - я проверяю, нужна ли ему новая версия - если нужна, копирую файл с определенного места в сети и запускаю его на выполнение.....

Так вот - как запустить снова Access - нет проблем... Проблема в том, что не хочу, чтобы пользователь второй раз вводил пароль - поэтому хочу все в одном окне.... а Access в одном окне сохраняет парли... по крайней мере до 2000 версии....

Кто сталкивался - помогите советом, как можно сделать, если можно....
...
Рейтинг: 0 / 0
Можно ли?!?!? №1
    #32102478
Фотография Polev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В серверной части сделай таблицу юзверей с булевским полем (выдавать/не выдавать запрос пароля). И никаких геморров...
...
Рейтинг: 0 / 0
Можно ли?!?!? №1
    #32102508
MixaCh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так мне на сервер надо залогиниться!!!!!!!!!

Я не хочу писать свою серверную безовасность или пускать всех под dbo!!!!!
...
Рейтинг: 0 / 0
Можно ли?!?!? №1
    #32102623
MVN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я конечно не мастак, но у себя я сделал так:
макрос Autoexec запускает 2 функции находящиеся в отдельных модулях по очереди.

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

После этого вторая функция запускает скрытую форму (у меня она вообщем для специфических функций), а потом центральную управляющую форму. По таймеру скрытая форма ищет в аналогичной таблице (для системных объектов: макрос Autoexec, Autokeys, первый загрузочный модуль) ищет обновления и загружает их. Потом она устанавливает дату версии приложения = текущей дате, обновляет номер версии приложения.

Подводные камни:
1. Не забывать правильно устанавливать даты. Сделал обновления - измени в таблице дату (формат: полный формат даты) и номер версии.
2. Если до таймера выгрузить приложение, то будет качать повторно. Поэтому я убрал из ctrl-alt-delete и закрыл окно базы, меню, кнопку закрытия окна акцесса, ctr-f4, alt-f4, f11.
3. Первая функция должна быть полностью изолирована от остального проекта VB базы данных, иначе ее невозможно будет обновить

Вот вроде бы и вся задумка. Получается что обновление происходит до открытия рабочей части приложения и загружать по нескольку раз не надо. А у тебя как я понял заменяеться полностью приложение.
...
Рейтинг: 0 / 0
Можно ли?!?!? №1
    #32102628
MVN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я забыл про сервер :). Это все для обновления клиентской части в акцессе, но у меня весь клиент работает на рекордсетах а их я получаю уже с паролем и пользователем из приложения клиента (у него своя таблица с паролями, ее он заполняет сам)
...
Рейтинг: 0 / 0
Можно ли?!?!? №1
    #32102636
MixaCh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 MVN
Интересный подход - мне понравилась задумка....

Только:
1. Сколько идет по времени такое выборочное обновление??! Надо же удалить объект, засосать его с сети и так по-объектно....

2. Уже устал бороться, но Access хуже некуда (мать-мать его) работает с изменением (удалением, добавлением) объектов - в основном форм, отчетов и пр.... - удалили объект - посмотрел - размер базы прежний?!? Удалили еще пяток форм и отчетов - смотришь - размер вырос!!!!!!!!!! Красота!!!!
У меня стандартно база за неделю распухает метров до 40!! И сжатию не поддается!!! (только до ~25), а если я создаю новую и импортирую все в нее - 12 метров?!?? Загадки природы!!!
Даешь больше дисков - больших и очень больших и памяти под 512!!!

(Да, во избежании кривотолков и комментариев злопыхателей - локальных таблиц у меня нет!!!!!!)

2.1. Я и засасываю приложение целиком, чтобы скомпоновать его, зажать и выложить клиенту (особенно при обновлении по радиоканалу....)

3. Было время - пытался создать описание объектов клиента на сервере, чтобы динамически их создавать....
С ходу - пара дней работы положительных результатов не получил....

Не самая простая, но и не очень сложная форма - средняя... - выгружаю описание на сервер - секунд за 20, зато создание по описанию - несколько минут....
Может, конечно, и не очень хитро писал, но стандартно вроде как - CreateControl и вперед.....

Поэтому пока и решил, что оптимальнее будет копировать целиком.....

Но рад буду изменить мнение при наличии положительного опыта!!!

В первую очередь меня, коненчо, волнует время выполнения обновления клиента!!!!!
...
Рейтинг: 0 / 0
Можно ли?!?!? №1
    #32102671
Фотография Serge Gavrilov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Modules: Opening another database in the same instance
http://www.mvps.org/access/modules/mdl0005.htm
...
Рейтинг: 0 / 0
Можно ли?!?!? №1
    #32102678
MixaCh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, полезная ссылка....

Большое спасибо!! Обязательно затестирую....

Настоятельно рекомендую всем посмотреть - может кому пригодиться (вышел через предыдущую, но там рассадник...)

http://www.trigeminal.com/lang/1033/utility.asp?ItemID=-1#4
...
Рейтинг: 0 / 0
Можно ли?!?!? №1
    #32102723
MVN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Согласен, копировать файл быстрее чем загружать пообъектно. По времени не проверял но дольше чем копировать файл - это однозначно.

1. В принципе закачка у меня идет терпимо, не могу сказать что форма закачивается по 2 минуты. Здесь загвоздка в структуре формы: при закачке акцесс (я так понял) проверяет все соединения указанные в конструкторе формы. Поэтому формы с напрямую присоединенными таблицами и запросами закачиваються долго, я думаю акцесс проверяет все соединения. У меня нет таких форм. RowSource я присваиваю после открытия формы. Особенно долго на таких формах (с присоединенными таблицами) идет трансформация на настройку под текущее разрешение экрана - вот это действительно мрак.

2. Мои клиенты уже работают несколько месяцев. Только что посмотрел размер файла на компьютере клиента = 1 500 Kb. У меня стоит галочка "сжимать при закрытии". А версия клиента уже 170. Как видишь никакого роста размера.

3. Насчет создавать объекты у клиента - здесь я пас. Но думаю это вариант. Только не пойму почему так долго идет создание и как работает весь процесс. По моему закачал с сервера String-переменную с описанием и вперед.
...
Рейтинг: 0 / 0
Можно ли?!?!? №1
    #32103387
MixaCh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А если не секрет?!?!?

Сколько объектов в базе и каких?!?!?
У меня:
Table (Linked) ~ 200
Query ~ 50
Forms ~ 200
Reports ~ 50
Macros = 1
Modules = 13 (процедур по 10 в каждом)....

Да, Access 2000 (9.0.4402 SR1)...
Может были приличные сервис паки??!? в которых она лучше работает с размером файла?!?!?

А создается долго в силу создания описания, видимо....
Если прописывать все свойства контрола - как-то их многовато, да и не очень быстро он это делает.....
...
Рейтинг: 0 / 0
Можно ли?!?!? №1
    #32103924
MVN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет, у меня раз в 10 меньше и того и того. Здесь конечно нужно как нибудь извратиться и что-нибудь придумать. Качать по-моему это долго.
...
Рейтинг: 0 / 0
Можно ли?!?!? №1
    #32216582
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для MixaCh и MVN.

Разрешите вклиниться дилетанту. У меня стоит похожая задача
об обновлении клиентских приложений. Только у меня не SQL Server,
а базы mdb, но это не важно. Как я решаю такую задачу. На сервере
всегда лежит обновленная клиентская часть. При запуске, после ввода
пароля пользователя, клиентска часть прилинковывается к ней и
запрашивает номер версии. Если номер не совпадает, то запускается
внешняя программа копирования клиентской части, а Акцесс закрывается.
Она копиует новую версию, удаляет старую, и запускает новую на
выполнение. Чтобы избежать повторного ввода пороля, я ввел в клиентскую
часть маленькую табличку. Счетчик запусков. Первоначально она пустая.
После копирования программа копирования вносит в эту таблицу
идентификатор пользователя, который вызвал обновление клиентской части
и дату/время запуска. При запуске клиентской части, она прверяет,
сколько записей в этой таблице, и если там только одна запись, то
запрос пароля не происходит, а клиенская часть открывается под
идентификатором пользователя, вызвавшего обновление и с его
привелегиями. Вести такую табличку удобно. Можно набрать статистику:
кто, когда и сколько работал на этой машине с этим приложением.
Обновление отдельных таблиц и форм у меня не получается. Может вы
поделитесь кодом. А то на словах я вроде всё понимаю, а как начинаю
программировать, то что-то не получается.
...
Рейтинг: 0 / 0
Можно ли?!?!? №1
    #32217501
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вариант Joss наиболее предпочтителен, поскольку позволяет оперировать с mde файлами.
если добавить к этому еще и разархивирование (т.е. хранить на сервере клиентскую часть в архивном виде) будет еще лучше.

но для ADP/ADE где хранить таблички?
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Можно ли?!?!? №1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]