Изменение структуры таблицы.

Работа VB и СУБД (Access, MSSQL, MySQL, Oracle и пр.)
Правила форума
При создании новой темы не забывайте указывать используемую СУБД.
Scuder
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 334
Зарегистрирован: 17.08.2002 (Сб) 13:18
Откуда: Moscow, Russia

Изменение структуры таблицы.

Сообщение Scuder » 17.12.2004 (Пт) 12:46

Несколько вопросов по Access 2000.

Есть таблица. Нужно:

1. Изменить размер текстового поля.
2. Добавить новый столбец.
3. Изменить название столбца.
4. Изменить тип данных в столбце.

Только, пожалуйста, не надо в ответах употреблять такие слова как яндекс, rtfm и т.п. :-)


vbskb_access vbskb_field vbskb_size vbskb_table vbskb_change

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 17.12.2004 (Пт) 12:49

ALTER TABLE и мануал по SQL.
Или же использовать ADOX и играться со свойствами .Column.
Lasciate ogni speranza, voi ch'entrate.

Scuder
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 334
Зарегистрирован: 17.08.2002 (Сб) 13:18
Откуда: Moscow, Russia

Сообщение Scuder » 17.12.2004 (Пт) 12:59

alibek писал(а):ALTER TABLE и мануал по SQL.
Или же использовать ADOX и играться со свойствами .Column.


Просил же не ругаться матом. ;-)
Есть общее описание типа http://sql.itsoft.ru/alter_table.html
Просто хотелось быстро получить конкретные ответы хотя бы на вопросы 1 и 4.

Scuder
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 334
Зарегистрирован: 17.08.2002 (Сб) 13:18
Откуда: Moscow, Russia

Сообщение Scuder » 17.12.2004 (Пт) 13:36

Ну почему Access ругается на MODIFY и CHANGE?

Код: Выделить всё
ALTER TABLE Operators MODIFY NewField CHAR(20)
ALTER TABLE Operators CHANGE NewField NewField2

Scuder
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 334
Зарегистрирован: 17.08.2002 (Сб) 13:18
Откуда: Moscow, Russia

Сообщение Scuder » 17.12.2004 (Пт) 13:56

Блин.. Мелкомягкий.. :evil:

Access не знает слов CHANGE и MODIFY..

Добавить столбец:
ALTER TABLE Operators ADD NewField char(15)

Изменить тип данных:
ALTER TABLE Operators ALTER COLUMN NewField CHAR(20)

Но как переименовать столбец - остаётся загадкой..
Ещё одна загадка - как создать столбец, в котором будет разрешён ввод пустых строк.

Мысли есть?

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 17.12.2004 (Пт) 14:03

Lasciate ogni speranza, voi ch'entrate.

Rainbow
Человек-радуга
Человек-радуга
 
Сообщения: 543
Зарегистрирован: 13.05.2003 (Вт) 14:16

Сообщение Rainbow » 17.12.2004 (Пт) 14:09

Про переименование - похоже, только добавить новый столбец, выполнить UPDATE, перекачав данные из старого столбца в новый, потом дропнуть старый...

А с пустыми строчками - не понимаю проблемы. Не добавляет? Там же есть свойства Allow Zero Length и Required...
Учиться - значит открывать для себя то, что уже знаешь. <...> Учить - значит напоминать другим о том, что они знают это также хорошо, как и ты. <...> Лучше всего ты учишь тому, чему тебе самому больше всего надо научиться. (Р. Бах)

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 17.12.2004 (Пт) 14:11

Rainbow, а вот и не угадала :)
В ссылке указано, RENAME надо использовать.
Lasciate ogni speranza, voi ch'entrate.

Scuder
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 334
Зарегистрирован: 17.08.2002 (Сб) 13:18
Откуда: Moscow, Russia

Сообщение Scuder » 17.12.2004 (Пт) 14:15

alibek, я нашёл кучу подобных ссылок. Но вся эта информация относится явно не к Access. :-(

Вот описание ALTER TABLE из HELP'а самого Access:
Синтаксис
ALTER TABLE таблица {ADD {COLUMN тип поля[(размер)] [NOT NULL] [CONSTRAINT индекс] |
ALTER COLUMN тип поля[(размер)] |
CONSTRAINT составнойИндекс} |
DROP {COLUMN поле I CONSTRAINT имяИндекса} }


Rainbow, похоже это единственный вариант.. Но как он мне не нравится!! :-(

А с пустыми строчками - не понимаю проблемы. Не добавляет? Там же есть свойства Allow Zero Length и Required...


Поясни?
При создании столбца по умолчанию в его свойствах значение "Пустые строки" = "Нет". Я хочу, чтобы было "Да". :-)

Rainbow
Человек-радуга
Человек-радуга
 
Сообщения: 543
Зарегистрирован: 13.05.2003 (Вт) 14:16

Сообщение Rainbow » 17.12.2004 (Пт) 14:17

У тебя из кода что ли надо и никак?
Где-то был топик по этому поводу, кажется... Сейчас поищу.
Учиться - значит открывать для себя то, что уже знаешь. <...> Учить - значит напоминать другим о том, что они знают это также хорошо, как и ты. <...> Лучше всего ты учишь тому, чему тебе самому больше всего надо научиться. (Р. Бах)

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 17.12.2004 (Пт) 14:17

Тебе надо только через SQL? Или кодом тоже можно?
Если последнее, то Column.Properties("AllowZeroLength") = True (приблизительно, сейчас нет под рукой VB и проверить не могу).
Lasciate ogni speranza, voi ch'entrate.

Rainbow
Человек-радуга
Человек-радуга
 
Сообщения: 543
Зарегистрирован: 13.05.2003 (Вт) 14:16

Сообщение Rainbow » 17.12.2004 (Пт) 14:20

Вот по поводу Required
http://bbs.vbstreets.ru/viewtopic.php?t=10042
Учиться - значит открывать для себя то, что уже знаешь. <...> Учить - значит напоминать другим о том, что они знают это также хорошо, как и ты. <...> Лучше всего ты учишь тому, чему тебе самому больше всего надо научиться. (Р. Бах)

Scuder
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 334
Зарегистрирован: 17.08.2002 (Сб) 13:18
Откуда: Moscow, Russia

Сообщение Scuder » 17.12.2004 (Пт) 14:26

Да мне бы лучше в SQL, конечно.. :-)
Но если это невозможно, придётся кодом делать.

Насколько я понял, поменять название столбца можно таким же образом, как указано в ссылке?


Вернуться в Базы данных

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0

    TopList  
cron