Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Кто знает, помогите с сохранением индексов при программной перелинковке

266
03 ноября 2003 года
mhaturov
901 / / 23.10.2003
Беда следующая: понадобилось программно перелинковывать таблицы (интерфейс написан на VBA под Access 2000). Перелинковываю следующим образом:
1. Создаю объект MyTable типа Variant
2. В цикле For Each MyTable In CurrentDb.TableDefs проверяю имена таблиц (MyTable.Name) и, если имя входит в определённые условия, перелинковываю таблицу: MyTable.Connect = "DSN=" & ODBC_name, где ODBC_name - имя источника данных ODBC.
Но после этого начинается самое интересное. Почему-то при перелинковке таблицы теряют индексы. Тоесть, например, таблица ААА, имеет следующую структуру: ID_Name - INT, НЕ СЧЁТЧИК, ключевое поле, NameRecord - TEXT.
После перелинковки получается: ID_Name - INT, НЕ СЧЁТЧИК, NameRecord - TEXT. (Не в БД-источнике данных (откуда прилинковываю), а в прилинкованном "зеркале".)
После этого я не могу в таблицу добавить запись, воспользовавшись не запросом к серверу на добавление, а стандартными элементами Access (элементы управления, контролы, имею ввиду).
Самое в этом ужасное, что код на столько велик, что переделать его под использование сервеных эапросов практически в допустимые сроки нереально.
Кто знает, как перелинковать таблицы с сохранением индексов? HELP по этому разделу в Access 2000 не работает:{ .
Заранее всем спасибо.
С уважением,
М.Шатуров
266
04 ноября 2003 года
mhaturov
901 / / 23.10.2003
Цитата:
Originally posted by mhaturov
Беда следующая: понадобилось программно перелинковывать таблицы (интерфейс написан на VBA под Access 2000). Перелинковываю следующим образом:
1. Создаю объект MyTable типа Variant
2. В цикле For Each MyTable In CurrentDb.TableDefs проверяю имена таблиц (MyTable.Name) и, если имя входит в определённые условия, перелинковываю таблицу: MyTable.Connect = "DSN=" & ODBC_name, где ODBC_name - имя источника данных ODBC.
Но после этого начинается самое интересное. Почему-то при перелинковке таблицы теряют индексы. Тоесть, например, таблица ААА, имеет следующую структуру: ID_Name - INT, НЕ СЧЁТЧИК, ключевое поле, NameRecord - TEXT.
После перелинковки получается: ID_Name - INT, НЕ СЧЁТЧИК, NameRecord - TEXT. (Не в БД-источнике данных (откуда прилинковываю), а в прилинкованном "зеркале".)
После этого я не могу в таблицу добавить запись, воспользовавшись не запросом к серверу на добавление, а стандартными элементами Access (элементы управления, контролы, имею ввиду).
Самое в этом ужасное, что код на столько велик, что переделать его под использование сервеных эапросов практически в допустимые сроки нереально.
Кто знает, как перелинковать таблицы с сохранением индексов? HELP по этому разделу в Access 2000 не работает:{ .
Заранее всем спасибо.
С уважением,
М.Шатуров



Народ, ну неужели никто не знает, как?:{

266
12 ноября 2003 года
mhaturov
901 / / 23.10.2003
Цитата:
Originally posted by mhaturov


Народ, ну неужели никто не знает, как?:{


Ну, блин, неужт никто не в курсе?:{

258
12 ноября 2003 года
SergeySV
1.5K / / 19.03.2003
Цитата:
Originally posted by mhaturov

Ну, блин, неужт никто не в курсе?:{



Трудно сказать почему так происходит, по идее не должно слетать ключевое поле, дело скорее в самой линковке, что то с ней не так...

266
12 ноября 2003 года
mhaturov
901 / / 23.10.2003
Цитата:
Originally posted by SergeySV


Трудно сказать почему так происходит, по идее не должно слетать ключевое поле, дело скорее в самой линковке, что то с ней не так...



А где, хоть примерно, может быть сабака зарыта?

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог