powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как изменить тип поля программным путём? Очень надо!
6 сообщений из 6, страница 1 из 1
Как изменить тип поля программным путём? Очень надо!
    #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
Как изменить тип поля программным путём? Очень надо!
    #32480036
Фотография Magnus23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Абсолютной уверенности нет, т.к. в Акцесе не я проф, но ИМХО придется удалять поле и создавать новое, копировать данные(естественно до удаления).

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

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


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