Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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.009 c
3-28590
grusty
2003-01-23 09:46
2003.02.10
Поиск строки в базе.


6-28976
pavlov
2002-12-19 17:32
2003.02.10
Сокеты - синхронный режим


4-29154
down
2002-12-26 19:21
2003.02.10
Как отследить момент подключения к общему (shared) ресурсу?


7-29120
Safonov
2002-12-05 16:41
2003.02.10
программирование Com порта на asm е


1-28760
ed
2003-01-28 21:44
2003.02.10
В чем ошибка!





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский