|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
06.10.2012, 21:26 | #1 |
Пользователь
Регистрация: 20.02.2010
Сообщений: 66
|
SQL удалить индексированный столбец в таблице Access
Делаю так:
try ADOQuery1.SQL.Clear; ADOQuery1.SQL.Add('ALTER TABLE POLIS DROP COLUMN [Номер документа];'); ADOQuery1.ExecSQL; except end; Поле "Номер документа" текстовое (индексированное, допускаются совпадения) Данный столбец удаляется если он не индексированный. Но в моей таблице он индексированный и по этому не удаляется. Как его удалить? |
06.10.2012, 21:44 | #2 |
Участник клуба
Регистрация: 19.12.2007
Сообщений: 1,100
|
удали сначала индекс, а потом саму колонку
На форуме: Помогаю за спасибо
ICQ\Skype: Это моё личное время ... |
06.10.2012, 21:46 | #3 |
Пользователь
Регистрация: 20.02.2010
Сообщений: 66
|
|
06.10.2012, 22:16 | #4 |
Участник клуба
Регистрация: 07.07.2007
Сообщений: 1,518
|
не уверен точно какой синтаксис в Аксесе, но, вроде, так
Код:
|
06.10.2012, 22:20 | #5 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
DROP INDEX index_name ON table_name
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
06.10.2012, 22:27 | #6 |
Пользователь
Регистрация: 20.02.2010
Сообщений: 66
|
|
06.10.2012, 22:48 | #7 |
Пользователь
Регистрация: 20.02.2010
Сообщений: 66
|
Даже такой код не помогает:
try ADOQuery1.SQL.Clear; ADOQuery1.SQL.Add('ALTER TABLE POLIS ALTER INDEX [Номер документа] INACTIVE;'); ADOQuery1.ExecSQL; except end; try ADOQuery1.SQL.Clear; ADOQuery1.SQL.Add('ALTER TABLE POLIS DROP INDEX [Номер документа];'); ADOQuery1.ExecSQL; except end; try ADOQuery1.SQL.Clear; ADOQuery1.SQL.Add('ALTER TABLE POLIS DROP COLUMN [Номер документа];'); ADOQuery1.ExecSQL; except end; Неужели ни кто не знает? |
06.10.2012, 23:26 | #8 |
Пользователь
Регистрация: 20.02.2010
Сообщений: 66
|
Всё оказалось на много проще. Додумался сам. Может кому пригодится.
try ADOQuery1.SQL.Clear; ADOQuery1.SQL.Add('ALTER TABLE POLIS DROP CONSTRAINT [Номер документа];'); ADOQuery1.ExecSQL; except end; try ADOQuery1.SQL.Clear; ADOQuery1.SQL.Add('ALTER TABLE POLIS DROP COLUMN [Номер документа];'); ADOQuery1.ExecSQL; except end; Всем спасибо!!! |
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Удалить ключевой столбец | apelsun | SQL, базы данных | 6 | 24.05.2012 20:34 |
Удалить столбец матрицы(Pascal) | lPolar | Помощь студентам | 0 | 25.12.2011 19:04 |
Удалить столбец со всех листов. | contrelesgaz | Microsoft Office Excel | 5 | 29.04.2011 00:22 |
Удалить через SQL строку в таблице ADOQuery1 | UNToxa | БД в Delphi | 2 | 20.03.2011 15:44 |
VBA_макрос: удалить всю строку в таблице, если в ней есть слово "удалить" | макарошка | Microsoft Office Excel | 15 | 05.10.2010 09:09 |