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

Форум: MS ACCESS

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

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

 
 

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

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

тема: импорт базы EXCEL в ACCESS
 
 автор: evsino   (03.04.2007 в 19:17)   личное сообщение
 
 

наша контора с 2003 года вела свою базу на EXCEL и до сих пор ведет
пытаюсь хотябы загнать эту базу ACCESS 2003 но проблемы
1. даты вводились как текст
в числовых полях каша да и встречается н/д т.е нет данных есть длинные поля
тупо импортом ничего невыходит а база то должна получиться под 60000 строк
может кто знает как всетаки перегнать базу в ACCESS
сейчас база поделена на 70-80 кусков иначе она просто не ворочеется и все пухнет и пухнет
помогите плиз советом рылся насайте здесь но ничего не нашел подходящего

  Ответить  
 
 автор: час   (03.04.2007 в 20:32)   личное сообщение
 
 

возьми копию EXEL для експриментов/
ПОСМОТРИ свойства ячеек они могут быть действительно не датой и не числом.

  Ответить  
 
 автор: osmor   (03.04.2007 в 21:11)   личное сообщение
 
 

Принцип построения учета в Excel и Access разлицаются координально.
Загнать данные из файла Excel в таблицу ACCESS не проблема, но с вероятностью 80% данные с листа Excel нужно переносить не в одну таблицу Access, а в несколько
60 тыс. строк это для главной таблицы ACCESS мелочи. Как минимум в 5 раз больше обрабатываются без проблем.

  Ответить  
 
 автор: evsino   (04.04.2007 в 20:24)   личное сообщение
 
 

дело в том что база копилась и копится годами
пробовал уже выделяю столбец задаю формат даты а потом вижу что где дата вводилась как текст все так и осталось записей сами понимаете таких много
может есть способ как то все это исправит средствами VBA?
следующая проблема в цифровых полях есть "нет данных (н/д)" что с этим делать
базу то хотим сделать чтобы вот этого бардака больше не было
еще вопрос где все ошибки исправлять
не тащится она в ACCESS ошибок тысячи
переносить в разные таблицы я думаю смысла нет
вот если бы база EXCEL полностью вкачивалась бы v ACCESS ну тогда еще можно былобы подумать
а
так я в самом начале мне надо сначала данные все скачать

  Ответить  
 
 автор: osmor   (04.04.2007 в 21:06)   личное сообщение
 
 

как вариант.
Создаете таблицу в access c нужными полями и форматами этих полей
В Ассess прилинковываете Excel лист как таблицу
создаете запрос на добавление из этого листа в созданную таблицы, при этом access сам конвертиует данные которые сможет. Если он не справится (вот я например не понял, что значит "нет данных (н/д)" , вы должны решить как какие данные будут преобразованы), и в запросе используя iif, cdate, nz, clng и тому подобные фунцкии привести все к нужному формату.
Наприме если вы хотите добавить данне из столбца с числами в котором встречаются "нет данных (н/д)", вы должны решить что вместо "нет данных (н/д)" вставить, ну например "0" или наоборот "9999999999", в запросе для этого поля пишите:
iif([поле] = "нет данных (н/д)";0;[поле])

  Ответить  
 
 автор: evsino   (05.04.2007 в 21:09)   личное сообщение
 
 

ну я попробую такой вариант но данные мне надо ввести все из без ошибок
1 что делать с датой ну введу ее как текст воп потом ACCESS сможет правильно преобразовать в дату?
2 что с н/д можно сделать так чтобы допустим в поле стоит 999999999 а на экран выводилось н/д

  Ответить  
 
 автор: Explorer   (05.04.2007 в 21:35)   личное сообщение
 
 

>ну я попробую такой вариант но данные мне надо ввести все из без ошибок

рекомендуют сначала полностью подготовить данные в эксель (это может быть промежуточный файл)

и только потом гнать в Access

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

зы

чем меньше балуешься с исходными данными тем меньше шансы наделать ошибок

  Ответить  
 
 автор: osmor   (06.04.2007 в 08:43)   личное сообщение
 
 

Естественно нужны корректные данные... кому нужны неверные.
1. Если дата имеет предствление как дата но записана как текст
"20.10.97", то при добавлении в поле формата "Дата/время" Aceess постарается ее преобразовать...
2. на уровне представления данных (форма, отчет и тп) можно, но в этом случае лучще заносить как Null или 0 или ""

  Ответить  
 
 автор: ГлазастыйМышь   (06.04.2007 в 10:19)   личное сообщение
 
 

дату лучше импортировать как текст (да и вообще лучше все поля), а уже средствами Access все преобразовывать и обрабатывать ошибки. Иначе при ситуации как идут значения дат, а в одной строке значение другово типа, то такая запись импортироваться не будет, а запишется в таблицу ошибок импорта.

  Ответить  
 
 автор: Explorer   (06.04.2007 в 11:10)   личное сообщение
 
 

ИМХО лучше всетаки готовить ВСЕ данные в Excel - меньше, гораздо, мороки...

насчет ТЕКСТ в принципе согласен если речь о загнать и потом уже править в Аксесс, но... ИМХО хлопотно это и не так наглядно как в Эксель

  Ответить  
 
 автор: Danser_a   (23.11.2007 в 11:22)   личное сообщение
 
 

А что Аксес не может при получении даных преобразовывать в цикле в се типы ?

  Ответить  
 
 автор: osmor   (23.11.2007 в 11:48)   личное сообщение
 
 

МОжет.
Но есть вероятность что некоторые данные не смогут быть преобразованы к нужному формату.

  Ответить  
 
 автор: akkorn   (23.11.2007 в 22:02)   личное сообщение
 
 

Ув. evsino
Могу посоветовать сделать так:
в столбце excel с датой скопировать этот столбец в буфер. вставить в блокнот
изменить формат СТОЛБЦА на дату. выделить все в блокноте и - Копировать
выделить в excel столбец этот (если фокус снят) и- вставить.

должно вставиться теперь КАК ДАТА

Далее форматируйте данные ИМЕННО в excel. и только когда Вас будет ВСЕ АБСОЛЮТНО устраивать-
-копируете инфу в буфер
-открываете таблицу в access И ПРАВКА >> ДОБАВИТЬ ИЗ БУФЕРА

все должно встать нормально

только так.. пользуйтесь поиск-замена символов и т.д.... но вставлять в access необходимо уже конечные данные, а не править их в access. имхо.

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