Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как изменить тип поля программным путём? Очень надо! / 6 сообщений из 6, страница 1 из 1
13.04.2004, 22:24
    #32480021
мадама
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как изменить тип поля программным путём? Очень надо!
Мне в одной таблице надо поменять все типы полей если они не текстове на текстовые. (Access97)
Я как шибко грамотная наклепала такой код:

Код: plaintext
1.
2.
3.
4.
5.
6.
Set tdf = glob_dbMain.TableDefs( "abc" )

For i =  0  To tdf.Fields.count -  1 
     If tdf.Fields(i).Type <> dbText Then
        tdf.Fields(i).Type = dbText
     End If
Next i


Ну он естесственно не проходит. Наверное это ReadOnly property. Что делать? Очень надо!!!
...
Рейтинг: 0 / 0
13.04.2004, 22:42
    #32480036
Magnus23
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как изменить тип поля программным путём? Очень надо!
Абсолютной уверенности нет, т.к. в Акцесе не я проф, но ИМХО придется удалять поле и создавать новое, копировать данные(естественно до удаления).

Magnus
...
Рейтинг: 0 / 0
13.04.2004, 22:47
    #32480045
мадама
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как изменить тип поля программным путём? Очень надо!
Да, я думала об этом, но хотелось лёгких путей.
...
Рейтинг: 0 / 0
14.04.2004, 09:49
    #32480324
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как изменить тип поля программным путём? Очень надо!
Для аксеса старших версий (начиная с 2000) можно использовать
Код: plaintext
CurrentDb.Execute  "Alter Table TableName Alter Column ColumnName Text(50 )", dbFailOnError

Для 97-го не прокатывает.
Через DAO св-во Type действительно read-only - после того, как поле добавлено в таблицу.
Так что действительно надо добавлять поле нужного типа со временным именем, переливать туда данные, грохать старое, переименовывать добавленное поле (хорошо хоть св-во Name доступно для изменения, а то пришлось бы эту последовательность операций дважды производить)
...
Рейтинг: 0 / 0
14.04.2004, 09:53
    #32480331
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как изменить тип поля программным путём? Очень надо!
если это продолжение вот этого вопроса, то может лучше создать в аксесе таблицу нужной структуры, потом сделать временный линк к экселевской таблице (с помощью того же TransferSpreadsheet), запросом перелить все данные из прилинкованной таблицы в аксесовскую, и убить лишний линк?
...
Рейтинг: 0 / 0
14.04.2004, 23:40
    #32481912
мадама
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как изменить тип поля программным путём? Очень надо!
Красиво, но я делаю ещё лучше. Просто пихаю в Екселевский файл дополнительный row и там у меня только длинные стринги. Excel дурной и даёт себя обмануть, делает мне все поля при импорте текстовые, как мне и надо. А после я эту лишнюю строчку удаляю. Правда он ещё лепит таблицы с Errors в мою базу и всё об этом дополнительном row, который он интуитивно не любит. Но я эти таблицы успешно грохаю.
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как изменить тип поля программным путём? Очень надо! / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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