|
#1
|
|||
|
|||
dbf Файлы
Добрый день.
Есть пять файлов dbf формата идентичной структуры , на выходе нужно получить один dbf но на четыре столбца больше. Пока не знаю с чего начать !!! Предполагаю, нужно создать маленькую базу с структурой выходного dbf и пробовать по одному из входных dbf загружать в эту базу. Потом удачно экспортировать !!! Что посоветуете , как реализовать ?. Когда начну уже писать , опишу как должны формироваться данные в один dbf. Больно не пенать , владею delphi (уровень Новичёк, Начинающий, парочку программ написал , но быстро учусь). Пока всем Спасибо!! |
#2
|
||||
|
||||
Для начала
Код:
uses DB, DBTables, StdCtrls; ... if CreateTable('"mytab.dbf"', 'FLD_1 CHARACTER(50), ' + 'FLD_2 CHARACTER(50), ' + 'FLD_3 CHARACTER(50), ' + 'FLD_4 CHARACTER(50), ' + 'FLD_5 CHARACTER(50) ', '') then ... // значит создалась таблица c пятью одинаковыми полями else // что-то пошло не так ... Я не понял Вашего вопроса, но всё же Вам на него отвечу! |
#3
|
||||
|
||||
Цитата:
Не стоит путать форумы с богадельнями. © Bargest |
#4
|
|||
|
|||
Спасибо за ответы.
Работа ежедневная , каждый день я соединяю эти файлы в один через Excel. Вот хочу теперь как то автоматизировать Вот файлы http://yadi.sk/d/tqLRVFjbKZxXu или вот http://dfiles.ru/files/hj1154yew В двух словах Должны сравниваться первых два столбца , и если "LICH" И "TIPES" столбцах совпала строчка , тогда в строчку Value записывается значение с загружаемого файла. 4 и 5 столбы всегда постоянные 0 и1 соответственно. "Type" меняется в зависимости от файла и столбца в выходном DBF то есть Когда "Type" 1 в выходном файле он соответствует Value Когда "Type" 2 в выходном файле он соответствует Value1 Когда "Type" 3 в выходном файле он соответствует Value2 Когда "Type" 4 в выходном файле он соответствует Value3 Когда "Type" 5 в выходном файле он соответствует Value4 Вот и получается 5-ть файлов . Кто может что то предложить? Как реализовать , вообще реально? Последний раз редактировалось M.A.D.M.A.N., 18.03.2014 в 17:34. |
#5
|
||||
|
||||
Не могу скачать архив с яндекс диска, кнопка "Скачать" не нажимается, переложите его пжлст на обычный файлобменник, напр. zalil.ru или rghost.ru
Я не понял Вашего вопроса, но всё же Вам на него отвечу! |
#6
|
||||
|
||||
Цитата:
|
#7
|
|||
|
|||
Ещё тут http://dfiles.ru/files/45345
Спасибо за активность Вам . Возможно, я не очень внятно описал свою проблему. Последний раз редактировалось M.A.D.M.A.N., 18.03.2014 в 17:34. |
#8
|
||||
|
||||
<<DELETED>>
Я не понял Вашего вопроса, но всё же Вам на него отвечу! Последний раз редактировалось Alegun, 18.03.2014 в 07:37. |
#9
|
|||
|
|||
Разве не реально?
|
#10
|
||||
|
||||
Вот что получилось, чисто на G-коде, запросом будет и проще и короче, но извнт, не умею
Я не понял Вашего вопроса, но всё же Вам на него отвечу! |
Этот пользователь сказал Спасибо Alegun за это полезное сообщение: | ||
starcon (18.03.2014)
|
#11
|
|||
|
|||
Спасибо , файл действительно собирает.
Есть одно НО, нет метода сравнения первого и второго столбов с загружаемыми DBF. Попробовал на новых файлах В четвёртом файле (4-й) всего 3-строчки , так программа скопировала их во весь столбец Последний раз редактировалось starcon, 18.03.2014 в 16:22. |
#12
|
||||
|
||||
Можно после вали добавить проверку на соответствие значений
Код:
... while not rslt.Eof do if rslt.FieldValues['LICH'] = dbf1.FieldValues['LICH'] then ... Я не понял Вашего вопроса, но всё же Вам на него отвечу! |
Этот пользователь сказал Спасибо Alegun за это полезное сообщение: | ||
starcon (18.03.2014)
|
#13
|
|||
|
|||
Работает стабильней.
В главном файле (1-й) на одну строку больше ,чем в остальных файлах. Вот процедура доходит до этой строки и дальше не заполняет остальные столбцы. На рисунке выделил, данная строчка есть только в первом файле , в остальных файлах её просто нет. Последний раз редактировалось starcon, 18.03.2014 в 16:14. |