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

Опять хочется хорошую функцию. Условия:
1. не зависимую от задачи;
1. Должна проверять наличие всех связанных таблиц (не все таблицы, как в примере у Гетца, живут в одном файле);
2. Не должна на время проверки "замораживать компьютер".

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

Вывести заставку, и нехай пользователь все-таки ждет, пока она все проверит?

Или кто-то делает иначе?

Поделитесь, кому не жалко.
...
Рейтинг: 0 / 0
Восстановление связей с таблицами
    #32217477
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
позволю себе себя процитировать поскольку искать лень.

сервис-параметры-вид-системные объекты=галочка-ОК

таблицы-MSysObjects-колонка Databases ---- вся информация
...
Рейтинг: 0 / 0
Восстановление связей с таблицами
    #32217487
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2вадя
Неправильный ответ. Счет 1:0 в пользу теле... знатоков! :))

Шутка. Это, конечно, хорошо. Но таким способом не проверишь возможность отсутствия таблицы в наличествующем файле. Способов добиться подобной ситуации куча, например обновить клиентский файл, не обновив файл базы, когда в последний добавлена новая таблица. Не дай бог забудешь и уедешь от клиента.
...
Рейтинг: 0 / 0
Восстановление связей с таблицами
    #32217495
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ты хочешь обрубить все связи и не запоминать что ты обрубил.

ну чтож флаг в руки,

проще скопировать имена таблиц из этой таблици в отдельную табличку ,
местную. и жить спокойно
...
Рейтинг: 0 / 0
Восстановление связей с таблицами
    #32217498
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не хочу обрубить связи всех таблиц. Хочу проверить, не обрубились ли они, например, в результате изменения конфигурации сети.

А какой смысл хранить имена таблиц и путь к их БД в локальной табличке, если все равно надо проверить, не просто есть ли такой файл, а есть ли в нем такая таблица?
...
Рейтинг: 0 / 0
Восстановление связей с таблицами
    #32217505
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть книжка по А95:

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

ошибка 3265 - элемент этого семейства не найден.

делаешь функ. с вх параметром имена таблиц из таблики (см выше)
и проверяешь их все.
...
Рейтинг: 0 / 0
Восстановление связей с таблицами
    #32217516
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чтоб проверить целостность связи, просто обратитесь к любому из свойств таблицы и выловите произошедшую при этом ошибку.

ошибка 3265 - элемент этого семейства не найден.

делаешь функ. с вх параметром имена таблиц из таблики (см выше)
и проверяешь их все.


Функция

2. Не должна на время проверки "замораживать компьютер". .
В то же время, проверить все возможные связанные таблицы (а их тоже может быть несколько сотен). займет уйму ресурсов.
М.б. это и единственный способ, не знаю, а вдруг?..
...
Рейтинг: 0 / 0
Восстановление связей с таблицами
    #32217535
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если у тебя прога работает значит связи есть.
а проверку делают при запуске .
а проверяется сетевой ресурс - уж это отдельная пестня.

а проверять все таблицы на связь не стоит. если у тебя несколько разнесенных баз - проверь по одной таблицы с каждой базы.

а если у тебя сетевой кооннект есть, то проверка на наличие таблицы многа время не потребует.
...
Рейтинг: 0 / 0
Восстановление связей с таблицами
    #32217561
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а проверку делают при запуске .
Видимо, все-таки да.

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

а если у тебя сетевой кооннект есть, то проверка на наличие таблицы многа время не потребует.
200 таблиц из 3-х файлов (которые к этому времени могут быть открыты другим(и) пользователем(лями)) открыть и закрыть - недолго?

Я не тормоз. В топике про переменные тоже все "топали ногами и подписывали указы" ((с) Шрек), а потом пришел Нуф-Нуф и всех победил :))
...
Рейтинг: 0 / 0
Восстановление связей с таблицами
    #32217565
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну тут надо разбить на две задачи.

1. установливание обновленной проги
2. проверка конекта к базам(таблицам)

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

ну можно прилинковать таблицу MSysObjects из базовой части и сравнить имена таблиц из таблицы MSysObjects клиентской части

разница - отпавшие таблицы (если ты знаешь что все таблицы должны быть прилинкованы)
...
Рейтинг: 0 / 0
Восстановление связей с таблицами
    #32217573
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а если ты добавляешь новую таблицу, то в предыдущей версии проги она нужна как собаке пятая нога.
Это да. А если меняю структуру существующей? И предыдущая версия на этом спотыкаться будет.

" Если таблички можно переприсоединить (и даже юзеру такую возможность дать), то при изменении пути к аксесовской базе придется перекомпилять приложение. " (с) Лох Позорный

Опять же случай. Одинаковые базы стоят у разных клиентов. Можно создать сетевые диски с одинаковой буковкой Z, а еще лучше, если программа однопользовательская сделать какой-нить Subst Z: c:\blalba\. А если нельзя. Клиент уперся рогом и говорит, что программа должна со всеми прибамбасами лежать на рабочем столе? Каждый раз при обновлении программы сидеть и ручками перепроверять ссылки? Или легче отправить, например, по почте клиентскую программу, и, если что, она сама скажет, типа, не доделали вам прогу.
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Восстановление связей с таблицами
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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