10 / 9 / 1
Регистрация: 12.06.2014
Сообщений: 255
|
|
1 | |
Создание dbf с добавлением данных из Excel11.11.2014, 21:17. Показов 7254. Ответов 6
Метки нет (Все метки)
Всем доброго времени суток!
Может и не сюда надо было писать но уже всю голову сломал как сделать. До сих пор не научусь с именами ничего делать только учить активно начал.и то на примерах.. Ситуация такая: 1. Есть Excel-файл со столбцом который содержит уникальный код клиента (пример-список кодов.xls) 2. Есть Excel-файл с 2 столбцами (пример-цены.xls), как вариант он может быть и dbf Задача: 1.создать .dbf с именем pmp_IDCLIENT.dbf согласно "список кодов.xls" 2.внутри pmp_IDCLIENT.dbf создать 3 столбца и во 2 и 3 тупо скопировать данные из "цены.xls" 3.в первом столбце до конца протянуть код IDCLIENT согласно список кодов.xls 4. результат должен быть такой как pmp_10738640.dbf 4. save и close это вообще реально? А то больше 850 файлов каждый понедельник вот так делать Сразу говорю, если что то несложное и научился делать поглядывая на примеры (перебор по маске, в папках и прочей ерунды), то у меня затык как всегда с именем (больное мое место) Работаю на Excel 2007, Excel 2003 и только сегодня уломал руководителя мне поставить Access 2003 (в нем вообще новорожденный младенец) . VBA только начал изучать, так как понял что на работе очень сильно пригодится
0
|
11.11.2014, 21:17 | |
Ответы с готовыми решениями:
6
Создание XML-документа из имеющегося шаблона с добавлением вводимых данных Создание обработки для выгрузки данных в dbf: Ошибка создания файла Создание бланка заявки в Excel на основании данных из другого файла Excel Копирование данных из одной таблицы dbf в шаблон dbf |
11508 / 3794 / 681
Регистрация: 13.02.2009
Сообщений: 11,197
|
|
13.11.2014, 11:12 | 2 |
Для Access вроде база mdb а не dbf?
А в dbf ексел сам умеет сохранять. Как вариант выполнить один раз ручками с записью макроса и подредактировать
0
|
1261 / 147 / 32
Регистрация: 11.02.2011
Сообщений: 418
|
|
13.11.2014, 11:20 | 3 |
Чуть поправлю. 2003-й эксель умеет. 2007-й и последующие нет. Только при использовании сторонних надстроек.
0
|
168 / 6 / 3
Регистрация: 05.07.2013
Сообщений: 62
|
||||||
14.11.2014, 09:05 | 4 | |||||
Сообщение было отмечено Авдей как решение
Решение
Я для таких целей ставил еще портативный excel 2003 который также умеет работать с макросами, да еще и сохранять их в формате DBF, пробовал с надстройкой в 2010 както она криво работает...
В общем попробую какой то макрос написать, а портативный excel можно загрузить с торента, ну или позже залью и в личку скину если получится какой то макрос Добавлено через 1 час 46 минут В общем я сегодня не успел доделать, если никто раньше не ответит я завтра выложу что нибудь готовое, если я правильно понял задание и каждому ИД присваивать одну и ту же цену итд Добавлено через 15 часов 57 минут Получилось такое
Туда же он сохранит в формате дбф файлы pmp_IDCLIENT.dbf Отправил в личку ссылку на загрузку портативного офиса(если у вас установлена 2007+ версия) Запускаете EXCEL.exe перетаскиваете файл с макросом на окно экселя(лучше другие версии закрыть, а то у портативного бывают свои причуды ) и запускаете. Добавлено через 9 минут Да, и если надо, чтобы он автоматом потом закрыл все(цены, список ид,файл с макросом), добавьте в конец Application.Quit перед exit sub
1
|
10 / 9 / 1
Регистрация: 12.06.2014
Сообщений: 255
|
|
14.11.2014, 21:27 [ТС] | 5 |
Уфф..Счас буду устанавливать 2003, а то портабельная не запускается.У меня офис 2010, а винда 8.1
Добавлено через 1 час 43 минуты Ну практически сразу то что надо в той же папке создал еще 1 файл, запуск макроса, все делает почти идеально! Но почему то в файле "Цены.xls" зачем то в ячейке А1 тоже меняет название на IDCLIENT и в самих dbf-файлах в столбце 2 все значения только в последнем dbf из списка кодов выводит..во всех остальных только B2 заполняет и все, остальное пусто. столбцы А и С то что надо получились Добавлено через 32 минуты С добавлением имени в цены.xls разобрался А вот почему во всех файлах не заполняется столбец B, (кроме B2) уже мозгов не хватает
0
|
168 / 6 / 3
Регистрация: 05.07.2013
Сообщений: 62
|
|
17.11.2014, 13:17 | 6 |
Я немного запутался, что не так работает
Файл цены для каждого свой(к примеру цены_IDCLIENT1 цены_IDCLIENT2 etc)? Или же один для всех(с одинаковым содержанием для всех IDCLIENT)? у меня в итоге формирует столько файлов dbf сколько IDCLIENT в файле список кодов и всем копирует одно и то же содержание из файла цены
1
|
10 / 9 / 1
Регистрация: 12.06.2014
Сообщений: 255
|
|||||||||||
17.11.2014, 21:11 [ТС] | 7 | ||||||||||
разобрался! случайно правда когда справку вместо ОТМЕНЫ нажал особенность dbf формата, сохраняет только видимые значения, если ячейка сужена и то что внутри отображается как ####, то при сохранении вместо #### будет просто напросто пусто!
проблема решилась добавлением
Результат: итоговый рабочий код
Добавлено через 1 минуту voidex, тебе огромное спасибо! Реально выручил, и главное научил..я на этом примере наконец таки разобрался как FOR работает теперь еще что нить придумывать на работе буду..а потом все что есть надо будет в едино сводить и в Acces в форму на кнопки сажать Еще раз спасибо большое
0
|
17.11.2014, 21:11 | |
17.11.2014, 21:11 | |
Помогаю со студенческими работами здесь
7
Большая работа с Excel (передача в него данных, построение графиков, дозапись, создание нового файла Excel) Как переименовать файл в папке в имя папки с добавлением расширения ".dbf"? Как подключить базу данных созданную в DBF Navigator с форматом ".dbf" к приложению на Lazarus? Необходимо произвести "Update" одинаковых данных в 2.dbf из 1.dbf Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |