Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > MS Access > Работа с внешними данными!


Автор: Ved 10.12.2007, 12:10
Дело в том что нужно работать с файлом раз в месяц вот с таким расширением .csv
Я ему расширение меняю на .xls и открываю с помощью АК.
В ACCESS е сделал подсоеденил эту таблицу путем импорт внешних данных, сделал форму, запрос и отчет тот какой мне нужен! С этим все нормально, но каждый месяц данные разные как мне как бы этот фаил заменять другим если его удаляю и с таким же именем ставлю другой думал что должно получится пишет что нету данных и ни форму ни отчет ни запрос соответственноя открыть немогу!
Я не профессионал в этом как я могу сделать так чтоб подсоединять всегда фаил ну как бы обновлять базу и все было бы так как надо ! 
Уважаемый AKINA я знаю Вас по Вашим ОТВЕТАМ, по  Вашему мнению все должно быть написанно в МСДНке трудно искать то что не знаеш, а по моим глупым вопросом хелп выкидывает мне не то что мне надо, хотябы сформулируите что я должен найти чтоб почитать! В книге этого нету там вообзще мало написанно про внешние данные!
Да и поиском по форуму мне что та не дало то что мне нужно! Может просто опять же не правильно формулирую свой вопрос! smile 
Надеюсь на помощь, с Уаважением Ved smile 

Автор: kapbepucm 10.12.2007, 12:26
Используй не импорт внешних данных, а линки. Тогда сможешь спокойно менять CSV источник.

Автор: Akina 10.12.2007, 12:47
Цитата(Ved @  10.12.2007,  13:10 Найти цитируемый пост)
Я ему расширение меняю на .xls и открываю с помощью АК.

Объясните вменяемо, зачем? CSV (Comma Separated Values) - совершенно стандартный формат обмена данными, его понимает любая программа, работающая с массивами данных.

Цитата(Ved @  10.12.2007,  13:10 Найти цитируемый пост)
по  Вашему мнению все должно быть написанно в МСДНке 

Это так. Там действительно написано все необходимое. однако в данном случае можно обойтись встроенной справкой Аксесса. Одна тонкость - прочитать надо ВСЁ по импорту и связыванию данных, причем не по диагонали.

Цитата(Ved @  10.12.2007,  13:10 Найти цитируемый пост)
если его удаляю и с таким же именем ставлю другой 

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

Автор: bopoha 10.12.2007, 19:34
Цитата(kapbepucm @  10.12.2007,  12:26 Найти цитируемый пост)
Используй не импорт внешних данных, а линки. Тогда сможешь спокойно менять CSV источник. 


Скорость падает. Дешевле программный импорт.
Если структура файла не меняется, то один раз можно настроить импорт данных. Задать ему имя. А потом программно вызывать. Если интересует, могу посмотреть соостветствующий код, на память я его не помню.

Автор: alexIrish 11.12.2007, 11:24
Я работаю с файлами .CSV получаемыми из MySAP. Если структура файла всегда одинаковая, то подгоняю всю инфу в Excel под формат таблицы в базе данных и потом импортирую в Access. (имхо програмно). никогда не было накладок если сам чего не сморозил. Excel- потому как нагляднее и если чего проверить надо легче найти чем в .CSV.
И макросы пишутся на два счета, только подправить надо.

Автор: Akina 11.12.2007, 11:45
Цитата(alexIrish @  11.12.2007,  12:24 Найти цитируемый пост)
Если структура файла всегда одинаковая, то подгоняю всю инфу в Excel под формат таблицы в базе данных и потом импортирую в Access. 

Если структура файла не меняется, можно один раз создать спецификацию импорта в Аксессе и вообще забыть об этой проблеме.

Автор: Ved 18.1.2008, 15:26
alexIrish, 
Вроде все разобрался всю справку прочитал, один только вопросик у меня постоянно приходится указывать что является расширением полей как называются поля как настроить чтоб это все настроить тока один раз!

Akina, Справка вообще полный ответ не дает примеры всегда лучше до меня долго все доходит, такой уж я ! smile 

Автор: alexIrish 18.1.2008, 15:52
Я не совсем понимаю чего вы там импортируете.
Ошибка импорта данных может возникнуть если екселевская таблица отличается заголовками полей
от аксесовской. Или же формат данных указан не верно.
Да, кстати если у вас формат поля указан как текст в Аксес, а в ехеле в етом поле первой стоит цифра или дата, то при експорте аксес подумает что ето числовое поле. Тут надо либо прямое преобразование
применять, либо подбирать сортировку по проблемным полям в Екселе.
И еще в .csv файле вполне может быть зоголовок или окончание какое нибудь.
Я имменно поетому сначала csv обрабатываю макросом в Екселе.
Ну а что делать если у вас каждый раз данные меняются по структуре( кол-во столбцов/полей в таблицах, их название, то тут на каждый возможный случай надо свой код писАть (наверноеsmile

Автор: Ved 25.2.2008, 13:20
bopoha, 

Цитата

Если интересует, могу посмотреть соостветствующий код, на память я его не помню.

Посмотри код если не трудно smile 

Автор: Ved 2.3.2008, 10:55
Akina, 
Цитата

Если структура файла не меняется, можно один раз создать спецификацию импорта в Аксессе и вообще забыть об этой проблеме.


Со всем разобрался спасибо,  smile  но спецификацию настроил, а нельзя ли сделать так чтобы допустим нажимаю кнопку (button) дается предложение какой фаил присоеденить, указываю его и он ставится так как мне надо и не надо указывать на необходимую спецификацию!?
( у меня структура полей ни когда не будет менятся это точно, меняются тока суммы!)
Если да так можно сделать то укажите пожалуста в каком направление мне копать!
С Уважением Ved! smile 

Автор: bopoha 3.3.2008, 17:27
Подвязать таблицу из другой базы можно при помощи DoCmd.TransferDatabase или напрямую работая с TableDefs...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)