powered by simpleCommunicator - 2.0.38     © 2025 Programmizd 02
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Excel->DBF
25 сообщений из 100, страница 4 из 4
Excel->DBF
    #38939049
Basile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Irina2015, протестировал в EXCEL 2013. Макрос работает точно так же, как и в 2007/2010. Возможно у Вас проблемы с подключением надстройки. Напишите на мой e-mail (malinine@tochka.ru) как Вы подключаете надстройку XlsToDBF.xla и какие конкретно возникают проблемы. Я постараюсь Вам помочь.
...
Рейтинг: 0 / 0
Excel->DBF
    #38951878
Artemisia
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день, Basile, подскажите как можно в Excel VBA удалить записи из готового файла dbf?
Я написала макрос с использованием ADODB.Connection, но на компьютерах с установленным BDE мой макрос не работает, дает ошибку внешнего драйвера. Поэтому ищу обходной путь. Есть другой способ удаления записей из dbf-файлов в макросах VBA Excel?
...
Рейтинг: 0 / 0
Excel->DBF
    #38951884
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что за ошибка и какую строку подключения используете?
...
Рейтинг: 0 / 0
Excel->DBF
    #38951936
Artemisia
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro, на операторе удаления записи выходит "непредвиденная ошибка драйвера внешней системы 8961", удаляю BDE, переименовываю папку Borland Shared откуда запускается администратор BDE и макрос работает. Но суть в том что BDE использует другая, нужная пользователю программа. Мой макрос несовместим с BDE.
А код у меня примерно такой:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
 With cn
        .provider = "Microsoft.Jet.OLEDB.4.0"
        .connectionstring = "Data Source=" & cstrBase & ";Extended Properties=dBase IV"
        .Open
        Do While (i <= lastrow)
             numb_p = Cells(i, 1).Value
               Set rr = Selection.Find(what:=numb_p, After:=ActiveCell, LookIn:=xlFormulas, _
                LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
                MatchCase:=False, SearchFormat:=False)
        
             If rr Is Nothing Then
                connstring = "DELETE FROM 12345678 WHERE NUMB_P = " & CStr(numb_p)
                 .Execute (connstring)
             End If
    i = i + 1
            Application.StatusBar = "ÁÐÀÁÀÒÛÂÀÅÒÑß " & i & " ÑÒÐÎÊÀ"
        Loop
        
        .Close
    End With


Модератор: Учимся использовать тэги оформления кода - FAQ
...
Рейтинг: 0 / 0
Excel->DBF
    #38951969
uux
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
uux
Гость
ArtemisiaДобрый день, Basile, подскажите как можно в Excel VBA удалить записи из готового файла dbf?
Я написала макрос с использованием ADODB.Connection, но на компьютерах с установленным BDE мой макрос не работает, дает ошибку внешнего драйвера. Поэтому ищу обходной путь. Есть другой способ удаления записей из dbf-файлов в макросах VBA Excel?

Обходной путь - это моё:).

Предлагаю такой: открыть файл dbf в Excel (через Workbooks.Open), поудалять ячейки, используя стандартные экселевские объекты-методы (типа Workbook, Worksheet, Cell и т. п.), а затем закрыть, сохранив изменения.

Надо только поэкспериментировать сначала с какой-нибудь "мусорной" дбф-кой, поскольку Эксель "шибко умный" в плане назначения форматов для колонок:).
...
Рейтинг: 0 / 0
Excel->DBF
    #38951974
Artemisia
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
uux, excel 2010 не сохраняет dbf-файл.
...
Рейтинг: 0 / 0
Excel->DBF
    #38951981
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
М-да
Микрософт говорит про это
This behavior may occur if the Borland folder exists on your computer and either of the following conditions is true:
The Borland Database Engine (BDE) was previously installed on your computer but was later removed, leaving an empty folder.
-or-
The BDE was installed incorrectly.и уж конечноThe third-party products that are discussed in this article are manufactured by companies that are independent of Microsoft. Microsoft makes no warranty, implied or otherwise, regarding the performance or reliability of these products.
...
Рейтинг: 0 / 0
Excel->DBF
    #38952000
Artemisia
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
uux, а хотя надо попробовать, завтра поэкспериментирую...
...
Рейтинг: 0 / 0
Excel->DBF
    #38952039
uux
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
uux
Гость
Artemisiauux, excel 2010 не сохраняет dbf-файл.

Ё, да, есть такая проблемка:). Добавили функционалу микрософтовцы - Excel 2003 все сохранял:).

Но, похоже, вы не первая, кто ищет обходной путь:). Вот пример ссылки навскидку:

http://pressdev.ru/soxranyaem-i-otkryvaem-dbf-fajly-v-excel-2007-i-2010/
...
Рейтинг: 0 / 0
Excel->DBF
    #38952284
Basile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ArtemisiaДобрый день, Basile, подскажите как можно в Excel VBA удалить записи из готового файла dbf?
Я написала макрос с использованием ADODB.Connection, но на компьютерах с установленным BDE мой макрос не работает, дает ошибку внешнего драйвера. Поэтому ищу обходной путь. Есть другой способ удаления записей из dbf-файлов в макросах VBA Excel?
На счёт BDE посмотрите вот этот пост . Давно это было (под WIN XP), но народ говорит, что даже для WIN7 помогает... Может и Вам поможет.
Что касается моего макроса, то он работает непосредственно с файлом dBASE, т.е. без Connection.
...
Рейтинг: 0 / 0
Excel->DBF
    #38952579
Artemisia
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Basile, спасибо, интересная идея, завтра буду пробовать.
А по поводу работать с dbf напрямую ... мне как раз и нужно такое решение. У меня же просто удаление записей из dbf-файла. Т.е. я должна их пометить на удаление и затем упаковать.
Как-то это можно сделать?
...
Рейтинг: 0 / 0
Excel->DBF
    #38953017
Basile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ArtemisiaBasile, спасибо, интересная идея, завтра буду пробовать.
А по поводу работать с dbf напрямую ... мне как раз и нужно такое решение. У меня же просто удаление записей из dbf-файла. Т.е. я должна их пометить на удаление и затем упаковать.
Как-то это можно сделать?
Напрямую -- это достаточно хлопотно... У моей программки задача гораздо проще: создать с нуля файл исходя из табличных данных в EXCEL. А написать код, который будет отбирать записи, ставить метки на удаление, паковать -- это задача на несколько порядков выше. Хотя всё возможно :) Но я посоветовал бы воспользоваться готовым провайдером. Например, в своё время я писал код VC .NET C#, используя VFP9 OleDb Provider . Очень мощное средство. Не пробовал подключать его в VBA, не могу сказать даже возможно ли это. Попробуйте поискать информацию по этому поводу.
...
Рейтинг: 0 / 0
Excel->DBF
    #38953020
Basile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Прошу прощения: VS .NET, конечно же...
...
Рейтинг: 0 / 0
Excel->DBF
    #38954511
Artemisia
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Basile, спасибо!!! Добавление записи в реестр сработало и в моем случае, под Windows 7. Спасибо за подсказку, вряд ли бы я сама ее смогла найти.
...
Рейтинг: 0 / 0
Excel->DBF
    #38994263
Vladimir_02
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Basile, использую ваш макрос в одной таблице... есть два листа на первом вводят данные. а на втором шапка с настройками ДБФ и формулами переносятся данные из первой таблицы... проблема в том. что в созданный ДБФ-файл попадают строки где нету данных, но есть формула (попадают в виде нулей)... как сделать, чтобы макрос отсекал строки где значение пусто, т.е нету данных?
...
Рейтинг: 0 / 0
Excel->DBF
    #38996353
Basile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Vladimir_02Basile, использую ваш макрос в одной таблице... есть два листа на первом вводят данные. а на втором шапка с настройками ДБФ и формулами переносятся данные из первой таблицы... проблема в том. что в созданный ДБФ-файл попадают строки где нету данных, но есть формула (попадают в виде нулей)... как сделать, чтобы макрос отсекал строки где значение пусто, т.е нету данных?
В текущей версии (XlsToDBF 1.4) это не получится. На данный момент могу посоветовать скопировать таблицу на другой лист (значения). И уже там удалить требуемые строки. Для отбора строк можно воспользоваться фильтром.
Я готовлю новую версию XlsToDBF 2.0, в которой можно предусмотреть такую возможность. Уточните, нужно отсеивать записи, в которых все поля пустые или хотя бы одно?
...
Рейтинг: 0 / 0
Excel->DBF
    #38997304
Vladimir_02
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Basile, отсеивать всю строку если в ней все значения полей пустые...
...
Рейтинг: 0 / 0
Excel->DBF
    #38998062
Basile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Vladimir_02Basile, отсеивать всю строку если в ней все значения полей пустые...
Логично. Учту. Но в текущей 1.04 версии отсеивать придется вручную...
...
Рейтинг: 0 / 0
Excel->DBF
    #38998104
Vladimir_02
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BasileVladimir_02Basile, отсеивать всю строку если в ней все значения полей пустые...
Логично. Учту. Но в текущей 1.04 версии отсеивать придется вручную...
а как дописать чтобы и в этой версии отсеивало, какие строки отвечают за выборку данных из таблицы?
пробовал что-то сам ковырять, но недостает знаний и ничего не получилось...
...
Рейтинг: 0 / 0
Excel->DBF
    #38998438
Basile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Vladimir_02Basileпропущено...

Логично. Учту. Но в текущей 1.04 версии отсеивать придется вручную...
а как дописать чтобы и в этой версии отсеивало, какие строки отвечают за выборку данных из таблицы?
пробовал что-то сам ковырять, но недостает знаний и ничего не получилось...
Я же говорю: делаю новую версию. Там будет другой код. В этой версии перед выводом в файл строка целиком не анализируется. Т.е. выводятся поля друг за другом. Например, при выводе в конечный файл первого поля записи программа понятия не имеет что будет во втором или в десятом. Чтобы реализовать проверку строки до её вывода, нужно существенно изменить код. Скорее всего, нужно будет дописать дополнительную функцию, которая будет делать проверку на пустоту всех полей. Причём, возможно, кому-то пустые строки не нужно удалять из вывода. Соответственно придётся делать ещё один параметр в заголовке выводимой таблицы (наподобие "CP866", "MAC") например, "NOT EMPTY" и проверять в программе этот параметр. В общем, хлопотно это.
А чего в EXCEL трудно отобрать лишние записи? Вышлите файл, я посмотрю, может что-нибудь посоветую...
...
Рейтинг: 0 / 0
Excel->DBF
    #38999350
Vladimir_02
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BasileVladimir_02пропущено...

а как дописать чтобы и в этой версии отсеивало, какие строки отвечают за выборку данных из таблицы?
пробовал что-то сам ковырять, но недостает знаний и ничего не получилось...
Я же говорю: делаю новую версию. Там будет другой код. В этой версии перед выводом в файл строка целиком не анализируется. Т.е. выводятся поля друг за другом. Например, при выводе в конечный файл первого поля записи программа понятия не имеет что будет во втором или в десятом. Чтобы реализовать проверку строки до её вывода, нужно существенно изменить код. Скорее всего, нужно будет дописать дополнительную функцию, которая будет делать проверку на пустоту всех полей. Причём, возможно, кому-то пустые строки не нужно удалять из вывода. Соответственно придётся делать ещё один параметр в заголовке выводимой таблицы (наподобие "CP866", "MAC") например, "NOT EMPTY" и проверять в программе этот параметр. В общем, хлопотно это.
А чего в EXCEL трудно отобрать лишние записи? Вышлите файл, я посмотрю, может что-нибудь посоветую...
хорошо буду ждать новую версию...
автофильтр в екселе на экране скрывает пустые записи. но в ДБФ-ку они все-равно попадают забитые нулями...
выслал на почту пример своего файла...
...
Рейтинг: 0 / 0
Excel->DBF
    #39159149
Роман1979
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток. Отличная надстройка! Но у меня появилась необходимость использовать ее по libreOffice calc и не могу отладить никак. Ругается что код FldHead(i).SetFormatField rngTable(1, i + 1), rngTable(2, i + 1) передают пустые строки и как следствие выдает ошибку на Name = UCase(Mid(n, 1, 10)) 'переменная типа Object не установлена'. Ни кто не сталкивался с работой надстройки xlstodbf в libreOffice calc???
...
Рейтинг: 0 / 0
Excel->DBF
    #39319020
Basile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Роман1979,

Пробовал переделывать под OpenOffice, малой кровью это не обойдётся...
Если сами немного разбираетесь в скриптах под OpenOffice, попробуйте переписать мой код.
Ничего более не могу добавить. :(
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Excel->DBF
    #39934178
arcVadNec
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!
При использовании макроса xml to dbf дошел до сохранения в dbf

при сохранении вываливается ошибка Run-Time error «1000»: overflow

Не подскажете что делать?

Win 7 64 prof
Office 2013

Заранее СПАСИБО!!!
...
Рейтинг: 0 / 0
Excel->DBF
    #39939725
volos4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
https://github.com/WallaceWilliam/VBA-macros-XLS-To-DBF

может кому понадобится.
добавлена перекодировка файла назначения
...
Рейтинг: 0 / 0
25 сообщений из 100, страница 4 из 4
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Excel->DBF
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]