Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Переподключение таблиц с сохранением индексов / 16 сообщений из 16, страница 1 из 1
25.04.2003, 15:58
    #32149076
radik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переподключение таблиц с сохранением индексов
Здравствуйте.

Вопрос такой.

Access. в нем присоедены table и view из MS SQL через ODBC.

Так вот при переподключении таблиц (изменяю connect и делаю refreshlink) во view теряются напрочь индексы, расстановленные при первом подсоединении таблицы.


Из хелпа

При использовании метода RefreshLink свойства присоединенной таблицы и объекты Relation не изменяются.


???
...
Рейтинг: 0 / 0
25.04.2003, 16:03
    #32149084
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переподключение таблиц с сохранением индексов
Врет хелп
Убивай связь - линкуй заново
...
Рейтинг: 0 / 0
25.04.2003, 16:05
    #32149086
radik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переподключение таблиц с сохранением индексов
ответ мне не очень понятен ?
...
Рейтинг: 0 / 0
25.04.2003, 16:23
    #32149121
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переподключение таблиц с сохранением индексов
Какое слово не понятно?
...
Рейтинг: 0 / 0
25.04.2003, 16:41
    #32149135
Senin Viktor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переподключение таблиц с сохранением индексов
Все
...
Рейтинг: 0 / 0
25.04.2003, 16:44
    #32149141
radik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переподключение таблиц с сохранением индексов
Хорошо. Я немного непонимаю как это сделать програмно.
Я пишу пока так, что дальше и какие еще свойства менять я не знаю.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
'Открываю соединения 
Set MSSQLDB = DBEngine.OpenDatabase(CNT_DataSourceName, dbDriverComplete, False, CNT_DataSource)
Set MSACCDB = CurrentDb

'перебираю все ODBC таблицы
For i =  0  To MSACCDB.TableDefs.Count -  1 
    If (MSACCDB.TableDefs(i).Attributes And dbAttachedODBC) Then

'создаю новую таблицу и пихаю все свойства старой 

        Set TDef = MSACCDB.CreateTableDef(MSACCDB.TableDefs(i).Name)
        TDef.Connect = MSSQLDB.Connect
        TDef.SourceTableName = MSACCDB.TableDefs(i).SourceTableName

'удаляю таблицу             
        MSACCDB.TableDefs.Delete MSACCDB.TableDefs(i).Name

'и добавляю новую              
        MSACCDB.TableDefs.Append TDef
        Set TDef = Nothing
    End If
Next i
...
Рейтинг: 0 / 0
25.04.2003, 16:55
    #32149153
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переподключение таблиц с сохранением индексов
А ты умеешь програмно индексные поля задавать для ODBC соединений? Я как то не научился. Поэтому всегда ручками прилинковывал. Может, кто научит?
...
Рейтинг: 0 / 0
25.04.2003, 17:23
    #32149190
Хам трамвайный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переподключение таблиц с сохранением индексов
научу, милок, научу
create unique index rr on dbo_ff (Код ASC)
...
Рейтинг: 0 / 0
25.04.2003, 17:31
    #32149194
radik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переподключение таблиц с сохранением индексов
вот я точно ни фига не понял, где, как, чего ?
...
Рейтинг: 0 / 0
25.04.2003, 17:34
    #32149198
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переподключение таблиц с сохранением индексов
Хам, ты чего? Грибов поел?
Ты где у объекта TableDef видел такие слова??
Или я дурак, или здесь присоединенные таблицы обсуждаются, а не язык SQL.
...
Рейтинг: 0 / 0
25.04.2003, 17:40
    #32149204
radik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переподключение таблиц с сохранением индексов
короче понял по-моему я

Индексы можно создать либо через db.execute "create index " и т.д.

Либо через DAO - но никто не знает как
...
Рейтинг: 0 / 0
25.04.2003, 17:54
    #32149221
Хам трамвайный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переподключение таблиц с сохранением индексов
я сам лично создал
индекс при помощи
запроса create unique index rr on dbo_ff (Код ASC)
rr - название индекса
dbo_ff - связанная таблица
Код - имя поля
ASC - сами знаете что
с сервера
пора бы уже научится
это еще в А2000 работало
...
Рейтинг: 0 / 0
25.04.2003, 17:59
    #32149226
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переподключение таблиц с сохранением индексов
Это очень круто, что ты сам создал индекс!!! Поздравляю!!!
Только, как я понял, проблема в том, что обновлении связанных таблиц слетают поля, указанные как уникальный индекс при подключении таблицы через ODBC. Если не так, то мне уже пора спать :)
...
Рейтинг: 0 / 0
25.04.2003, 18:04
    #32149234
Хам трамвайный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переподключение таблиц с сохранением индексов
я про то и толкую
слетают идексы
вот и востанавливай
как я написал выше
...
Рейтинг: 0 / 0
25.04.2003, 18:07
    #32149240
radik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переподключение таблиц с сохранением индексов
ВСЕ ТЕМА ЗАКРЫТА - ИНДЕКСЫ СЛЕТАЮТ !
ВОССТАНАВЛИВАТЬ ИХ НАДО ВРУЧНУЮ ЧЕРЕЗ db.execute "create index ...", по другому (например через DAO) как сделать никто не знает
...
Рейтинг: 0 / 0
25.04.2003, 19:28
    #32149312
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переподключение таблиц с сохранением индексов
Хм.. Истину глаголет отрок Хам... Никогда бы не подумал что так можно...
Ну спасибо, а то так бы и помер я дураком.
Осталось эту хрень в 97-м попробовать. Чтобы убедиться что она не работает :))
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Переподключение таблиц с сохранением индексов / 16 сообщений из 16, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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