Как общаться между двумя экземплярами открытого MDB с одинаковой формой? - PullRequest
0 голосов
/ 15 декабря 2009

В VBA (Access 2000) есть ли способ отправить информацию в форму между двумя открытыми экземплярами базы данных?

Например:

Пользователь 1 имеет открытый экземпляр DB.MDB на своем ПК и имеет открытый FormOne. У пользователя 2 есть еще один экземпляр DB.MDB, открытый на его ПК, и открыт FormOne.

Может ли пользователь 1 манипулировать содержимым текстового поля в экземпляре FormOne пользователя 2 (т.е. отправлять сообщение, похожее на чат-клиент)?

Ответы [ 2 ]

4 голосов
/ 15 декабря 2009

Вы можете сохранить данные в таблице и обновить форму или подчиненную форму по таймеру.

0 голосов
/ 15 декабря 2009

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

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

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

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

Другой проблемой, конечно, является прослушивание (с помощью таблиц или файлов). Вы можете минимизировать это: Запутывание / шифрование текста перед его записью и удаление его при чтении. Удаление записи, как только она прочитана ее целью. Скрытие файла / таблицы. Для файлов используйте: SetAttr myFile, vbSystem или vbHidden Для таблиц добавьте к имени таблицы имя USys_ и сделайте таблицу скрытой.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...