powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / ПОЧЕМУ?
14 сообщений из 14, страница 1 из 1
ПОЧЕМУ?
    #32206022
BJ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я беру и выкладываю в меню своего приложения кнопку Связь с таблицами или Диспетчер связных таблиц.
Если переместить или переименовать таблицы с данными, то при запуске приложения, кнопка недоступна.
ПОЧЕМУ это бывает и КАК это исправить, скрипты кторорые используют команду acCmdLinkTables тоже не работают, если таблицы в другом месте, говорит, что команда недоступна...ЧТО ДЕЛАТЬ!!!!!
...
Рейтинг: 0 / 0
ПОЧЕМУ?
    #32206061
BJ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, видать не судьба мне...
пятница как никак, ладно, всем хороших выходных!
пойду выпью что ли...
...
Рейтинг: 0 / 0
ПОЧЕМУ?
    #32206068
Витал
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В диспетчере связанных таблиц я лично всегда устанавливаю флажок "всегда выдавать запрос нового местонахождения". Может в этом собака порылась?
...
Рейтинг: 0 / 0
ПОЧЕМУ?
    #32206710
BJ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
неа, не помогает...
даже когда я устанавливаю эту галочку, она сбрасывается при следующем вызове из меню или запуске...
...
Рейтинг: 0 / 0
ПОЧЕМУ?
    #32206721
Hummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Данный пункт в меню будет активен, когда будет видно окно БД, по-моему так.
...
Рейтинг: 0 / 0
ПОЧЕМУ?
    #32206729
BJ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да, точно.
тогда как же быть, если нужно запускать .mde?
...
Рейтинг: 0 / 0
ПОЧЕМУ?
    #32206764
Hummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как вариант - создание инсталяционного пакета в опред. каталог, тогда не придётся менять ссылки на таблицы.
Второй способ - задание разрешений на доступ к данным, вход в БД только с паролем. (Пароль можно достаточно просто узнать:)
Ещё можно открывать окно БД на время перелинковки таблиц свёрнутым в значок и убрынным за границу экрана, но это примитивизм:)
...
Рейтинг: 0 / 0
ПОЧЕМУ?
    #32206792
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сделать свою формочку для перелинковки. Скорее всего нужно все к одной базе линковать. Вот в формочке путь к этой базе и указывать. А уж и формы -
TableDef.Connect = "blablabla" : TableDef.RefreshLink
...
Рейтинг: 0 / 0
ПОЧЕМУ?
    #32206809
Hummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, про форму я и забыл
...
Рейтинг: 0 / 0
ПОЧЕМУ?
    #32206810
BJ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да. как раз что то вроде инсталляционного пакета уже создано, хотелось обыграть случай, когда можно самому менять расположение таблиц...

2 Лох
тоже уже испробовано.
Работает, если изначально таблицы лежат на правильном пути,
а если нет, то валится на RefreshLink - "Команда в данное время недоступна..."
Коннектиться нужно к двум базам
...
Рейтинг: 0 / 0
ПОЧЕМУ?
    #32206836
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Работает, если изначально таблицы лежат на правильном пути,
а если нет, то валится на RefreshLink - "Команда в данное время недоступна..."

Странно. У меня вот уже сколько времени работает и ни разу не валится. Аксес 97. И в мдб, и в мде.
...
Рейтинг: 0 / 0
ПОЧЕМУ?
    #32206850
BJ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да уж. может я чего то не догоняю...

2 Лох
а можешь скинуть мне подробно, как ты это делаешь, если не в лом?
...
Рейтинг: 0 / 0
ПОЧЕМУ?
    #32206879
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Например так

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
Public Function Reconnect(strPath1 As String, strPath2 As String)
    Dim db As Database
    Set db = CurrentDb
    Dim tds As TableDefs
    Set tds = db.TableDefs
    Dim td As TableDef
    Dim i As Long
    SysCmd acSysCmdInitMeter,  "Обновление связанных таблиц" , tds.count
    For i =  0  To tds.count -  1 
        Set td = tds(i)
        If CBool(td.attributes And dbAttachedTable) Then
            If InStr(td.Connect,  "db1.mdb" ) <>  0  Then
                If Len(strPath1) <>  0  Then
                    td.Connect =  ";DATABASE="  & strPath1
                    td.RefreshLink
                End If
            ElseIf InStr(td.Connect,  "db2.mdb" ) <>  0  Then
                If Len(strPath2) <>  0  Then
                    td.Connect =  ";DATABASE="  & strPath2
                    td.RefreshLink
                End If
            End If
        End If
        SysCmd acSysCmdUpdateMeter, i
    Next i
    SysCmd acSysCmdClearStatus
End Function
...
Рейтинг: 0 / 0
ПОЧЕМУ?
    #32206900
BJ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасиб большое, сейчас попробую.
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / ПОЧЕМУ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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