Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Foxpro/Clipper/Dbase > Объединение .dbf файлов


Автор: Centurion 28.9.2006, 06:48

допустим в корневом диске D:\ существует каталог 'X' 
а в нем (в 'X') несколько каталогов 01, 02, 03, ... итд. 
в каждых из этих папок есть dbf файлы с одинаковыми именами mix.dbf 
А задачка состоит в том что нужно объединить данные этих dbf файлов в один 
файл допустим в файл copyfile.dbf 
и еше прога должна для объединения данных этих dbf файлов (mix.dbf) просматривать 
все папки в каталоге 'X' не зависимо от их имени и количества. 
Если у кого есть такая функция на эту тему пожалуйста поделитесь или просто 
напишите как это делается. 
Заранее спасибо!!

Автор: Artiom 28.9.2006, 08:52
интересно для чего такое надо
Найти файлы в директрории -
Код

path = "d:\X"
cd &path
 ADIR(FileArr, '*.dbf','D')

Дальше читай данные из FileArr. открывай таблицы, читай, пиши в copyfile (если конечно все таблицы одинаковой структуры)

Автор: Centurion 28.9.2006, 12:02
Artiom, а в Дельфи кааак это делается????

Автор: Artiom 28.9.2006, 13:27
Цитата(Centurion @  28.9.2006,  12:02 Найти цитируемый пост)
Artiom, а в Дельфи кааак это делается????

Понятия не имею. Спроси в разделе Delphi

Автор: bas 2.10.2006, 16:07
Цитата(Centurion @  28.9.2006,  06:48 Найти цитируемый пост)
Если у кого есть такая функция на эту тему пожалуйста поделитесь или просто 
напишите как это делается. 

Код

SELECT *    FROM    c:\A\01\mmm.dbf   INTO DBF c:\copyfile.dbf



Добавлено @ 16:15 
или еще проще
 
Код

append from c:\A\01\mmm.dbf  

копирует записи в конец активного файла БД из другого файла.
Осталось только получить список всех файлов ADIR(....).

Автор: Cashey 3.10.2006, 08:28
Цитата(bas @  2.10.2006,  17:07 Найти цитируемый пост)
SELECT *    FROM    c:\A\01\mmm.dbf   INTO DBF c:\copyfile.dbf

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

Автор: bas 4.10.2006, 09:03
Цитата(Cashey @  3.10.2006,  08:28 Найти цитируемый пост)
чела интерисует как это делается в дельфях. я не уверен, но по моему там надо организовывать цикл с копированием записей

Там надо получить список файлов откуда берем информацию (FindFirst+FindNext) и в цикле выполнять запрос для каждого файла.
Код

insert into 'c:\copyfile.dbf' (список полей) select  список полей from 'c:\A\01\mmm.dbf '


Автор: Cashey 4.10.2006, 11:56
Цитата(bas @  4.10.2006,  10:03 Найти цитируемый пост)
Там надо получить список файлов откуда берем информацию (FindFirst+FindNext) и в цикле выполнять запрос для каждого файла.

Ну да, что-то вроде

Автор: Noubpoeno 10.12.2022, 09:49
Модератор: Сообщение скрыто.

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