Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: изменение структуры базы (2003)
 
 автор: lena   (29.08.2008 в 12:12)   личное сообщение
 
 

Надо изменить тип поля (с числового на плав. точкой) существующей таблицы с данными, для этого выполяется такая команда DoCmd.TransferDatabase acExport, MyTipe, MyFile, MyObjectTipe, MyName, MyName, structureonly:=true. но при выполнении существующие данные удаляются и структура заменяется., как данные сохранить?

  Ответить  
 
 автор: Анатолий (Киев)   (29.08.2008 в 12:22)   личное сообщение
 
 

А как вы представляете себе изменение типа поля командой TransferDatabase?
Ваш код выполняет экспорт (куда?) таблицы без данных (structureonly:=true). А дальше?
Изменить тип поля в той же таблице можно SQL инструкцией ALTER TABLE ... ALTER COLUMN.
Создать копию таблицы с измененным типом поля можно запросом SELECT INTO, где для поля указать CDbl([Числовое поле]).

ЗЫ. Поле с "плав. точкой" тоже - числовое.

  Ответить  
 
 автор: lena   (29.08.2008 в 12:41)   личное сообщение
 
 

у меня есть маленькая программка, которая делает экспорт, это была только одна команда, формы, отчеты, она заменяет без проблем, а вот сейчас надо изменить тип одного поля, чтобы считалось значение с запятой, было указано длинное целое, а надо с плав. запятой.

  Ответить  
 
 автор: Рафаиль   (31.08.2008 в 18:38)   личное сообщение
 
 

Уточни в ходе работы программы???

Если нет, то просто в окне делаешь
1. копируешь таблицу
2. там добавляешь своё поле с тебе нужными данными
3. запрсом в новой таблице присваиваешь значение поля из другова поля
4. в конструкторе старое поле удаляешь
5. правишь в се связи (если имеются)
И всё

Вот хотябы и алгоритм. можно руками, а можно и процедурку сделать.

  Ответить  
 
 автор: lena   (01.09.2008 в 08:02)   личное сообщение
 
 

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

  Ответить  
 
 автор: Анатолий (Киев)   (01.09.2008 в 12:23)   личное сообщение
 
 

Исли вам всего-то и нужно - изменить тип поля в существующей таблице внешней БД, то так:
Set db = OpenDatabase(MyFile)
db.Execute "ALTER TABLE ИмяТаблицы ALTER COLUMN ИмяПоля Double"
Подобное можно сделать и в ADO.

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList