Есть специалисты по базам данных на этом форуме?!
От: Leonid_CSIT  
Дата: 09.03.07 08:22
Оценка: :))
Здравствуйте!

Если ты специалист, то ты сможешь ответить на этот вопрос!

Есть база данных Access с таблицами и связями. Необходимо программно поменять ключевой поле с типа числового на счетчик с сохранением последовательности, которая была в числовом поле. Данная таблица связана с другой таблицей.

С базами данных почти не работаю, поэтому у меня такой порядок действия по такой проблеме:
1. прочитать все таблицу в память
2. удалить связь с другой таблицей
3. удалить таблицу
4. создать таблицу с другими параметрами
5. записать в таблицу старые данные, учитывая последовательность
Застрял на 2 пункте.
Работаю через ADO на VС++. Могу получить через adSchemaTableConstraints собственно CONSTRAINT таблицы, в которой необходимо удалить связь. У меня это оказывается PrimaryKey. Удалить его таким запросом:
ALTER TABLE <имя таблицы> DROP CONSTRAINT PRIMARYKEY

не получается. Говорит, что он используется.

Хотя можно получить и имя внешнего ключа, но в Access такого запроса:

ALTER TABLE <имя таблицы> DROP  FOREIGNKEY <имя внешнего ключа>

просто нет, так что это мне не помогло.

Может, кто знает более легкий путь или как мне удалить связь в таблице?

P.S. если создаю свою базу, SQL запросами, то все удаляется и создается хорошо

Заранее благодарю, Леонид
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.