Форум: "Базы";
Текущий архив: 2003.02.10;
Скачать: [xml.tar.bz2];
ВнизКак импортировать с Excel в Парадокс ... Найти похожие ветки
← →
Alpine (2003-01-24 12:11) [0]Коороче такая фишка ... Мне надо перевести excel базу в db ....
Как зделать это лучше ... Когда пытаюсь с Excel сохранить как Dbase то там херня с базой происходит ... Вообщем с помощью делфи как мне это реализовать ... Плиззз чуваки помогайте !
← →
koks (2003-01-24 12:46) [1]Если тебе нужно 1 раз перенести базу я бы на твоем месте воспользовался Access (97 и выше).
1. Импортировал Excel - > Access мастером (Не линк а именно импорт).
2. Корректируешь типы, размер полей. Может где-то и данные прийдется корректировать. Можно условия на данные проверить.
3. Экспортируешь таблицу куда угодно благо индексов у тебя нет. (Dbase всех видов, Paradox всех видов).. Получаешь качественную .db
Ну а потом на Delphi под нее пишешь программу обработки.
Ну а если тебе нужно постоянно переносить - это очень муторно, я бы с этим вообще не связывался...
← →
sniknik (2003-01-24 13:16) [2]> постоянно переносить - это очень муторно
постоянно этим занимаюсь (переносом с одного типа базы в другой), и ничего не муторно пишеш программу для переноса, когда нужно запускаеш, все.
← →
koks (2003-01-24 13:24) [3]Я имел в виду - каждый раз из Excel -а. Про перенос типа DBF-DB, Access-DBF, DBF-SQL Server и пр. проблем нет...
А если каждый раз из Excel-а... это ж там преобразование типов, ограничение на операции с таблицей. Ведь Excel-ом обычно пользуются люди, которые о БД мало что знают и понимают. Я например одного своего пользователя не могу заставить не оставлять пустую строку в начале рабочего листа - он туда все равно что-нидь пишет. Или заголовки таблици делает многострочными... Такие вещи не проканывают если пишешь автоматический импорт из Excel. Да там много чего.
← →
sniknik (2003-01-24 13:38) [4]Ну когда человек в Excel вбивает то да, у меня лежит база набитая в Excel 5 разными людьми, в форме путевых листов так мало того что все по разному представляют как надо забивать так и один и тотже человек сегодня делает по одному завтра по другому, никакой формализации. :-((
так и лежит, общее мнение переводу иначе как "ручками" не подлежит.
но чего сразу о грустном? есть другие ситуации когда приходят отчеты выгруженные другими программами (1С) в Excel, тут все класно из разных мест и все в одном стандарте. Перевести куда угодно проблем не составляет. :-))
← →
koks (2003-01-24 13:45) [5]"есть другие ситуации когда приходят отчеты выгруженные другими программами (1С) в Excel, тут все класно из разных мест и все в одном стандарте" - и рабочие листы защищены от изменений.... ;))
← →
pusrg (2003-01-24 14:27) [6]Если тебе нужно переносить постоянно, то муторное это дело - лучше не связываться. Или настоять до конца на полной формализации получаемой информации.
Стояла у меня такая задача годика полтора назад. Нужно было получать прайсы цен с одной организации и заносить в БД заказчика. Реализовал примерно следующим образом:
1. В окне стоял компонент TOleContainer, в нем открывался Экселевский файл.
2. Пользователь выделял нужные для переноса столбцы (или регион ячеек).
3. Рядом с компонентом стоял список соответствия какому столбцу, какое поле в бд соответствовало. В принципе его можно было настроить только один раз. Но так как экселевский файл мог меняться, он также создавался программой, а затем изменялся людьми, список соответствия был нужен.
4. Самое главное. Обязательно в присылаемом Экселевском файле должна быть колонка(и)-идентификатор (первичный ключ) по которому можно однозначно определить строку. Этот идентификатор приходилось также хранить в бд заказчика, чтобы однозначно определить в каком товаре произошли изменения цен или появился новый товар со своими ценами.
В общем геморрой был полный. Система с горем пополам даже не много проработала, пока я не вышел на прямой контакт с программистом, обслуживающим программу в организации присылающей прайс и для этого заказчика начала приходить база в Парадоксе. Проблем значительно поубавилось :)
И тебе советую поискать такой подход.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.02.10;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.008 c