Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / ПОЧЕМУ? / 14 сообщений из 14, страница 1 из 1
11.07.2003, 17:23
    #32206022
BJ
BJ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ПОЧЕМУ?
Я беру и выкладываю в меню своего приложения кнопку Связь с таблицами или Диспетчер связных таблиц.
Если переместить или переименовать таблицы с данными, то при запуске приложения, кнопка недоступна.
ПОЧЕМУ это бывает и КАК это исправить, скрипты кторорые используют команду acCmdLinkTables тоже не работают, если таблицы в другом месте, говорит, что команда недоступна...ЧТО ДЕЛАТЬ!!!!!
...
Рейтинг: 0 / 0
11.07.2003, 17:50
    #32206061
BJ
BJ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ПОЧЕМУ?
Да, видать не судьба мне...
пятница как никак, ладно, всем хороших выходных!
пойду выпью что ли...
...
Рейтинг: 0 / 0
11.07.2003, 17:53
    #32206068
Витал
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ПОЧЕМУ?
В диспетчере связанных таблиц я лично всегда устанавливаю флажок "всегда выдавать запрос нового местонахождения". Может в этом собака порылась?
...
Рейтинг: 0 / 0
14.07.2003, 09:53
    #32206710
BJ
BJ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ПОЧЕМУ?
неа, не помогает...
даже когда я устанавливаю эту галочку, она сбрасывается при следующем вызове из меню или запуске...
...
Рейтинг: 0 / 0
14.07.2003, 09:59
    #32206721
Hummer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ПОЧЕМУ?
Данный пункт в меню будет активен, когда будет видно окно БД, по-моему так.
...
Рейтинг: 0 / 0
14.07.2003, 10:04
    #32206729
BJ
BJ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ПОЧЕМУ?
да, точно.
тогда как же быть, если нужно запускать .mde?
...
Рейтинг: 0 / 0
14.07.2003, 10:24
    #32206764
Hummer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ПОЧЕМУ?
Как вариант - создание инсталяционного пакета в опред. каталог, тогда не придётся менять ссылки на таблицы.
Второй способ - задание разрешений на доступ к данным, вход в БД только с паролем. (Пароль можно достаточно просто узнать:)
Ещё можно открывать окно БД на время перелинковки таблиц свёрнутым в значок и убрынным за границу экрана, но это примитивизм:)
...
Рейтинг: 0 / 0
14.07.2003, 10:46
    #32206792
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ПОЧЕМУ?
Сделать свою формочку для перелинковки. Скорее всего нужно все к одной базе линковать. Вот в формочке путь к этой базе и указывать. А уж и формы -
TableDef.Connect = "blablabla" : TableDef.RefreshLink
...
Рейтинг: 0 / 0
14.07.2003, 10:53
    #32206809
Hummer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ПОЧЕМУ?
Да, про форму я и забыл
...
Рейтинг: 0 / 0
14.07.2003, 10:54
    #32206810
BJ
BJ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ПОЧЕМУ?
да. как раз что то вроде инсталляционного пакета уже создано, хотелось обыграть случай, когда можно самому менять расположение таблиц...

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

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

2 Лох
а можешь скинуть мне подробно, как ты это делаешь, если не в лом?
...
Рейтинг: 0 / 0
14.07.2003, 11:38
    #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
14.07.2003, 11:47
    #32206900
BJ
BJ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ПОЧЕМУ?
Спасиб большое, сейчас попробую.
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / ПОЧЕМУ? / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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