Страницы: 1
RSS
заполнение DBF с листа
 
нашел макрос создания файла ДБФ необходимой структуры.
подскажите - как этот ДБФ макросом заполнить данными с ЛИСТа1 ?

СПАСИБО
 
Во-первых, в столбце "сумма" у вас не числа, а текст из цифр, потому как разделителем целой и дробной части в российской выньдоуз по умолчанию является запятая, а не точка.
Во-вторых, ексель замечательно может сохранять данные в формате dbf, достаточно лишь нажать на "сохранить как" и выбрать нужный формат.
Если автоматизировать бардак, то получится автоматизированный бардак.
 
С форматами я разберусь. Это просто пример. Если можно , мне надо просто технологию записи в базу таблицы. Спасибо
 
Ещё нюанс по поводу хранения. Просто сохранить как работает только до версии 2003. А у меня 2007 и 2010. Поэтому необходимо именно таким образом. Спасибо.
 
Цитата
wowick пишет: ексель замечательно может сохранять данные в формате dbf,
wowick, а у Вас какая версия Офиса?
 
Ещё раз скажу. Я поставил 2003. 2007. 2010. Только 2003 так может. Помогите сделать это через макрос.
 
brother_alex, а я вопрос не Вам адресовал)) Вы посмотрите, к кому я обращался.
 
У меня 2010. В Инете при минимальных навыках пользования поиском, за несколько секунд находится инструкция по установке надстройки по работе с DBF файлами. И не надо ничего программировать  ;)
Но тут кому как. Кому шашечки, а кому ехать...
Если автоматизировать бардак, то получится автоматизированный бардак.
 
Цитата
wowick пишет: У меня 2010
И Вы пишете:
Цитата
ексель замечательно может сохранять данные в формате dbf, достаточно лишь нажать на "сохранить как"
 
Раньше я сохранял через "сохранить как", а последние годы мне dbf формат как-то особо не нужен был. Когда выяснилась "проблема", но в поисковике я за несколько секунд нашел ее решение. Что я не так сделал???
Если автоматизировать бардак, то получится автоматизированный бардак.
 
Цитата
wowick пишет: Кому шашечки, а кому ехать...
а кому-то, возможно, объяснять потом десяткам незнакомых или малознакомых людей с нулевыми знаниями, как установить и подключить надстройку...
Вы вообще в курсе, что бывают и другие варианты?
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
Цитата
ikki пишет: Вы вообще в курсе, что бывают и другие варианты?
Тока в этой теме кроме меня никто не ответил хотя бы чуть в тему. А вот чтоб ПРЯМО по теме - так и вообще никто! Зато флуда развели немеренно!  ;)
Если автоматизировать бардак, то получится автоматизированный бардак.
 
Цитата
wowick пишет: Что я не так сделал???
Давая совет, проверить его. В данном случае нужно было указать версию, для которой это применимо. В Вашем случае это всё равно, что предлагать владельцу 2003 использовать функцию СУМЕСЛИМН...
 
Цитата
wowick пишет: флуда развели немеренно!
wowick, где Вы увидели здесь флуд?
 
Если можно. Ответьте мне. Что то я не нашёл как этот макрос под мои нужды доделать. Спасибо
 
Посмотрите тут
 
Тут я смотрел. Здесь только запись одной строки в дбф. А как записать целый массив - нету. И нигде найти не могу. Я создание дбф из этой темы и брал.
 
да почти тоже самое
Код
INSERT INTO (Поля DBF) SELECT Поля Excel FROM [Excel 12.0 xml;HDR=Yes;IMEX=1;DATABASE=" & ThisWorkBook.FullName &  имяЛиста"]
 
Код
s = "Insert into Табл select * from [Лист$A1:D5]  IN 'ПолныйПутьКФайлу.xls' [Excel 12.0;HDR=YES;IMEX=1] "
или через in (имена полей должны совпадать
Изменено: B.Key - 13.02.2015 15:06:20
 
Попробую. Спасибо
 
Если что, то если можно перспрошу.
 
супер !
второй код пошел - только поменял Excel 12.0 на Excel 8.0

спасибо
 
еще один маленький вопрос по теме:
возможно ли указать кодовую страницу в которой сохраняется ДБФ ?
 
можно перед созданием dbf указать с какой кодировкой работать по умолчанию, что бы в файле не править 29 байт
для этого необходимо подправить в реестре параметр DataCodePage
при значении "OEM" работа проходит при DOS кодировке, а при значении "ANSI" - в Windows
путь:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Xbase
-----------
Все это можно сделать и программно вот такой командой, естественно с нужным параметром, в данном примере "OEM"
Код
CreateObject("wscript.shell").RegWrite "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Xbase\DataCodePage", "OEM", "REG_SZ"
можно менять конечно и заголовок файла, вот таблица кодов:
Code page      Platform                    Code page identifier---------------------------------------------------------------
437            U.S. MS-DOS (x01)
620        (1) Mazovia (Polish) MS-DOS (x69)
737        (1) Greek MS-DOS (437G) (x6A)
850            International MS-DOS (x02)
852            Eastern European MS-DOS (x64)
861            Icelandic MS-DOS (x67)
865            Nordic MS-DOS (x66)
866            Russian MS-DOS (x65)
895        (1) Kamenicky (Czech) MS-DOS (x68)
857            Turkish MS-DOS (x6B)
1250           Eastern European Windows (xC8)
1251           Russian Windows (xC9)
1252           Windows ANSI (x03)
1253           Greek Windows (xCB)
1254           Turkish Windows (xCA)
10000          Standard Macintosh (x04)
10006          Greek Macintosh (x98)
10007      (1) Russian Macintosh (x96)
10029          Macintosh EE (x97
)
Страницы: 1
Читают тему
Наверх