Как объединить два dbf файла в один

Обновлено: 07.07.2024

FIREBIRD, две базы, две таблицы, скопировать данные из одной в другую
В наличии имеются две базы данных Firebird. Часть информации из одной нужно скопировать в другую.

конвертация базы .dbf
Добрый день! Ситуация такая: есть папочка на панели оператора, куда каждый день, раз в сутки.

Создание dbf базы
Доброго времени суток. Мне нужно создать файл dbf и в него записать определенные данные. Есть такой.

Ошибка подключения DBF базы
Друзья. Подключаю через OLEDB DBF файл. Пишет "внешняя таблица имеет не верный формат". DBF файл.

Rakingod, а перед использованием запроса не требуется подключения к базе ? Подключение происходит в отдельном классе, там все хорошо работает, отдельно 1 таблицу выводит, я не могу объединить вывод 2-х таблиц в 1 запрос. А разве получится у ДБФ-а открыть две разные базы в одном контексте ? Ну вот я это и хочу узнать, можно ли это сделать и если можно, то как?
К ДБФ-у можно обратиться через sql запрос, sql запрос вроде бы я правильно написал. А какой алгоритм вы можете мне посоветовать?
Я 1-ю таблицу загружал в datagriedview, а 2-ю загружаю во временную таблицу, потом с временной таблицы нужные поля дописываю в datagriedview, это занимает довольно много времени. Я 1-ю таблицу загружал в datagriedview, а 2-ю загружаю во временную таблицу А разве нельзя загрузить всё в одну временную таблицу и с временной таблицы грузить в datagridview?

Для Oledb в контексте Fox, указывается директория к базам, ни как не имя файла, и поэтому можно работать хоть с десятью, у ТСа, это просто имена баз, в классе же, путь идет к директории с базамиRakingod,

Для Oledb в контексте Fox, указывается директория к базам, ни как не имя файла, и поэтому можно работать хоть с десятью

Работа с файлом базы .dbf
Подскажите, как можно поднять сервер по файлу БД? Требуется доставать оттуда определённые данные по.

Взаимодействие базы данных формата dbf и MS SQL
Здравствуй форум! Есть программа, которая работает с БД формата dbf, в ней хранятся данный о.


Дублируются некоторые записи при выборке из dbf базы
Здравствуйте, не могу разобраться в чем дело. Работаю с dbf базой. Делаю обычную выборку, некоторые.

Две фильтрации по разным столбцам объединить в один запрос с помощью оператора and
Здравствуйте. Я работаю с FireBird подключённому к MVS 2010 и у меня проблема в объединении.

Как объединить две функции?
Как объединить две функции? в public PartialViewResult Edit(int id) < .

a1 -таблица 1
b1 - таблица 2
key - ключевое поле (может быть несколько символьных полей поле1+поле2+. )

Если бы ты мог формально описать что есть ОДИНАКОВАЯ ИНФОРМАЦИЯ, то возможно
кто-нить и написал бы тебе программу-утилиту. И даже совершенно
безвозмездно, т.е. даром :)
Например при структуре
field1, field2. fieldN - по каким полям надо сравнивать инфу? По всем? Но
тогда любой Candidate/Primary Key индекс не даст тебе объединить данные.
Скажем если есть такой индекс по Field1, А в tbl1 и tbl2 имеются 2 записи с
одинаковыми значениями в field1 но разными в прочих полях, то что
делать?

В общем случае задача решается так:
Начиная с VFP8 и того проще - в одну строку :)
А вот какие поля перечислять в подзапросе, по каким выбирать
"одинаково/неодинаково". вот тут то и будет самая главная проблема :)
Да, ещё - эту конструкцию (запрос) можно формировать и динамически - на
основе информации AFIELDS() - и потом запускать через макро. Тогда лучше для
верности и поля по именам прописать, а то мало-ли, вдруг порядок их
отличается в "сливаемых" таблицах.

Posted via ActualForum NNTP Server 1.0

Ситуация такова - имеются две таблицы dbf, которые находятся в разных директориях.
Таблица 1 - xxx.dbf с полями: Xtitle1, Xtitle2, Xtitle3, Xtitle4
Таблица 2 - yyy.dbf с полями Ytitle1, Ytitle2, Ytitle3.

В этих таблицах Xtitle3=Ytitle1

Необходимо третью таблицу с любым именем в любом месте, с полями: Ytitle1, Ytitle2, Xtitle1, на основе талицы 2, т.е. только с данными, которые содержатся в таблице 2 и соответствующие данные из таблицы 1.

Ситуация такова - имеются две таблицы dbf, которые находятся в разных директориях.
Таблица 1 - xxx.dbf с полями: Xtitle1, Xtitle2, Xtitle3, Xtitle4
Таблица 2 - yyy.dbf с полями Ytitle1, Ytitle2, Ytitle3.

В этих таблицах Xtitle3=Ytitle1

Необходимо третью таблицу с любым именем в любом месте, с полями: Ytitle1, Ytitle2, Xtitle1, на основе талицы 2, т.е. только с данными, которые содержатся в таблице 2 и соответствующие данные из таблицы 1.


В продолжение моей темы: 1С:Альфа-Авто Автосалон Автосервис: обмен с сайтом.
С помощью данного скрипта можно загружать в автоматическом режиме, по расписанию, данные сервисных книжек (ремонтов авто) из 1С:Альфа-Авто Автосалон Автосервис.
Также можно загружать данные в ручном режиме: для этого делается скрытая страница, где размещается специальная кнопка.
Комментарии размещенные внутри скрипта разъяснят логику и порядок действия.
Комментарии с "///// echo" использовались для отладки.
Дополнительно создана таблица для журналирования результатов загрузки данных.
Скрипт включает в себя защиту от SQL инъекций (думаю безопасность соблюдена в полной мере).
В кратце:
1. Пишется скрипт, который запускает этот.
2. Создается регламентное задание в WordPress, по которому запускается скрипт из п.1.
3. Этот скрипт осуществляет проверку на существование файла обмена в папке.
4. Если данные не новые, загрузка не производится.
5. Если данные новые, очищается таблица сервисных книжек.
6. Загружаются новые данные.

Собственно сам скрипт:

global $wpdb2;
global $failure;
global $file_hist;

$m_size_file=0;
$m_mtime_file=0;
$m_comment='';
/////проверка существования файлов выгрузки из 1С
////файл выгрузки сервисных книжек
$file_hist = ABSPATH.'/_1c_alfa_exchange/AA_hist.csv';
if (!file_exists($file_hist))
///// echo '<H2><b>Файл обмена с сервисными книжками не существует.</b></H2><br>';
$m_comment='Файл обмена с сервисными книжками не существует';
$failure=TRUE;
>

/////инициируем таблицу лога
/////если не существует файла то возврат и ничего не делаем
if ($failure) ///включает защиту от SQL инъекций и данные можно передавать как есть, например: $_GET['foo']
///// echo '<H2><b>Попытка вставить запись в лог таблицу</b></H2><br>';
$insert_fail_zapros=$wpdb2->insert('vin_logs', array('time_stamp'=>time(),'last_mtime_upload'=>$m_mtime_file,'last_size_upload'=>$m_size_file,'comment'=>$m_comment));
wp_die();
///// echo '<H2><b>Возврат в начало.</b></H2><br>';
return $failure;
>
/////проверка лога загрузки, что бы не загружать тоже самое
$masiv_data_file=stat($file_hist); ////передаем в массив свойство файла
$m_size_file=$masiv_data_file[7]; ////получаем размер файла
$m_mtime_file=$masiv_data_file[9]; ////получаем дату модификации файла
////создаем запрос на получение последней удачной загрузки
////выбираем по штампу времени создания (редактирования) файла загрузки AA_hist.csv, $m_mtime_file

///// echo '<H2><b>Размер файла: '.$m_size_file.'</b></H2><br>';
///// echo '<H2><b>Штамп времени файла: '.$m_mtime_file.'</b></H2><br>';
///// echo '<H2><b>Формирование запроса на выборку из лога</b></H2><br>';
////препарируем запрос
$text_zaprosa=$wpdb2->prepare("SELECT * FROM `vin_logs` WHERE `last_mtime_upload` = %s", $m_mtime_file);
$results=$wpdb2->get_results($text_zaprosa);

if ($results)
< foreach ( $results as $r)
////если штамп времени и размер файла совпадают, возврат
if (($r->last_mtime_upload==$m_mtime_file) && ($r->last_size_upload==$m_size_file))
$insert_fail_zapros=$wpdb2->insert('vin_logs', array('time_stamp'=>time(),'last_mtime_upload'=>$m_mtime_file,'last_size_upload'=>$m_size_file,'comment'=>'Загрузка отменена, новых данных нет, т.к. найдена запись в логе.'));
wp_die();
return $failure;
>
>
>
////если данные новые, пишем в лог запись о начале загрузки
/////echo '<H2><b>Попытка вставить запись о начале загрузки в лог таблицу</b></H2><br>';
$insert_fail_zapros=$wpdb2->insert('vin_logs', array('time_stamp'=>time(),'last_mtime_upload'=>0, 'last_size_upload'=>$m_size_file, 'comment'=>'Начало загрузки'));

////очищаем таблицу
$clear_tbl_zap=$wpdb2->prepare("TRUNCATE TABLE %s", 'vin_history');
$clear_tbl_zap_repl=str_replace("'","`",$clear_tbl_zap);
$results=$wpdb2->query($clear_tbl_zap_repl);
///// echo '<H2><b>Очистка таблицы сервисных книжек</b></H2><br>';
if (empty($results))
///// echo '<H2><b>Ошибка очистки таблицы книжек, завершение.</b></H2><br>';
//// если очистка не удалась, возврат
$failure=TRUE;
wp_die();
return $failure;
>

////загружаем данные
$table='vin_history'; // Имя таблицы для импорта
//$file_hist Имя CSV файла, откуда берется информация // (путь от корня web-сервера)
$delim=';'; // Разделитель полей в CSV файле
$enclosed='"'; // Кавычки для содержимого полей
$escaped='\

Для объединения необходимо выбрать два исходных файла, каталог объединенного файла и нажать на кнопку "Объединить файлы".

Тестировалась под платформой 8.3.10.24.66 на конфигурации УТ 10.3.

Специальные предложения

Electronic Software Distribution

Интеграция 1С с системой Меркурий

Алкогольная декларация

Готовые переносы данных

54-ФЗ

Управление проектом на Инфостарте

Траектория обучения 1С-разработчика

(1) Файлы должны быть одинаковые по структуре. Из исходного файла все строки (со всеми значениями столбцов) копируются в результирующий файл. Затем в конец результирующего файла добавляются строки из второго исходного файла. (2) а как дела обстоят с дублями? ИЛИ у Вас простое соединение двух Таблиц? (4) Да, простое соединение. Код не сложный, выложил, может кому поможет. сложно ли ее переделать для объединения 3-5 файлов DBF?

(6) Сколько угодно файлов легко объединяются при помощи древней DOSовской утилиты DBU.EXE, специально предназначенной для операций с файлами DBF: открываем первый файл, жмем F6 - "Append", выбираем второй файл, снова F6 - "Append" и т.д.

Основная сложность тут - запустить эту утилиту под современными версиями Windows.

Наверняка существуют и виндовые редакторы DBF, умеющие проделывать то же самое.

Объединить, это одно дело, другое,что в обработке можно прописать проверку на ошибки и их исправление, так же на поиск дублей и тп. поэтому и интересуюсь обработкой обработке можно прописать проверку на ошибки и их исправление, так же на поиск дублей и тп. Тогда логичным развитием ваших хотелок был бы выбор не 3-5 файлов, а папки , в которой будут объединены все файлы DBF. Я думаю смысла в этом большого нет.
Обработка показывает демонстрацию возможности объединения и может быть легко переделана под собственные нужды.
Навороты особо здесь не нужны, т.к. большого спроса по обработке нет.

Просмотры 8156

Загрузки 7

Рейтинг 2

Создание 14.05.18 08:45

Обновление 14.05.18 08:45

№ Публикации 829982

Кому Для всех

Конфигурация Конфигурации 1cv8

Операционная система Windows

Вид учета Не имеет значения

Доступ к файлу Абонемент ($m)

Код открыт Да

Ключевую часть курса составляет практическая работа по командам над проектами. Управление ИТ-проектами. Agile: продвинутый курс по гибкому управлению проектами.

См. также

Конвертация любых адресов, написанных в свободной форме, к ФИАС Промо

Допустим у нас есть база с адресами клиентов, и написаны они могут быть как душе угодно. С опечатками, без индексов, без разделителей, в совершенно любом формате. Вот было бы здорово иметь функцию, которая одним нажатием кнопки преобразует любую белиберду к строгому представлению адреса по ФИАС? Восстановит индекс, исправит опечатки и вернёт на 100% валидный адрес. Для всех, кто мечтательно сказал "ДА!", выкладываю данную обработку.

2 стартмани

30.06.2020 7610 68 XilDen 15

Управление платформенными обработками (расширение для типовых)

Расширение использует недокументированную возможность для управления платформенными обработками. Например, чтобы подменить "Активные пользователи" или доработать "Конструктор запросов".

1 стартмани

07.10.2021 3312 5 SeiOkami 23

Работа с картами в 1С на примере бесплатной библиотеки Leaflet

Разработка функционала отображения и выбора пунктов доставки на карте прямо в 1С с помощью бесплатной библиотеки Leaflet. Тестирование производилось на платформе 8.3.15.1534 на тонком клиенте.

1 стартмани

31.03.2021 10376 30 Parsec1C 11

Универсальная обработка переноса данных из основной конфигурации в расширение

Обработка предназначена для разработчиков, для тех случаев, когда ранее дописанный функционал, перенесен в расширение и появляется необходимость перенести данные из объектов основной конфигурации в объекты расширения. Перенос осуществляется настройкой соответствия объектов основной конфигурации объектам расширения.

5 стартмани

05.10.2020 10320 65 biz-intel 71

Удаление и/или копирование сохраненных в 1С настроек (например настроек печати табличных форм) Промо

Иногда нужно удалить сохраненную в 1С "покореженную" настройку или скопировать "удачную" другому пользователю.

1 стартмани

01.09.2012 66792 1378 AnryMc 46

Улучшенная обработка универсального обмена данными в формате XML (УФ)

Улучшенная обработка "Универсальный обмен данными" с полноценными возможностями СКД для выборки данных (не только для отборов).

1 стартмани

23.06.2020 12884 135 Lem0n 1

Панель команд текущего объекта (документа, справочника и т.д.) со следующим возможностями: Редактор реквизитов, таблиц и движений текущего объекта, Анализ прав доступа к текущему объекту, Поиск ссылок на объект с отборами, Сторно движений документа, Выгрузка/загрузка текущего объекта между базами. Реализована всплывающей панелью в форме объекта. Подключается как расширение конфигурации (*.cfe) либо отдельными обработками.

1 стартмани

01.05.2020 15252 112 sapervodichka 1

Работа с файлами (обычная и управляемая форма)

Нужно загрузить файл с клиента на сервер или же, наоборот, файл загрузить с сервера на клиент, а впридачу все это на web-клиенте, да еще и асинхронно? Нет ничего проще, читай далее, как это сделать!

1 стартмани

10.06.2019 41480 220 Xershi 77

Групповая корректировка записей регистров (Управляемое приложение) v 2.1 Промо

Обработка предназначена для групповой корректировки записей регистров Накопления, Сведений и Бухгалтерии. Разработана специально для Управляемого приложения.

3 стартмани

06.09.2013 68747 321 kser87 59

Электронная таблица средствами 1С (Версия 2.0)

Функционал электронной таблицы для программ на платформе 1С реализован на основе табличных документов. Функционал реализован в виде обработки. Большую часть формы обработки занимают листы (закладки) с табличными документами, которые выполняет роль электронной таблицы. Листы могут быть добавлены, удалены или переименованы. Ограничение по количеству листов определяется возможностью платформы. В формулах электронной таблицы можно использовать любые языковые конструкции, процедуры и функции 1С, ссылки на другие ячейки электронной таблицы расположенные в том числе и на других листах. Допустимо обращаться к ячейкам электронной таблицы по имени именованной области. В случае использования в формулах электронной таблицы данных из самой таблицы пересчет зависимых ячеек с формулами производится автоматически. Электронную таблицу можно сохранить в файл.

1 стартмани

23.04.2019 23756 78 user706545_kseg1971 40

Удобная консоль регламентных и фоновых заданий

1 стартмани

06.02.2019 22136 211 Alxby 20

Редактор объектов информационной базы 8.3

Универсальная внешняя обработка для редактирования реквизитов и табличных частей объектов информационной базы, редактирование движений документов. Доступ ко всем реквизитам объектов, есть возможность выгрузки и загрузки данных (объекты и движения документов) через XML. Платформа 8.3, управляемые формы. Версия 1.1.0.57 от 09.10.2021

2 стартмани

23.01.2019 43208 486 ROL32 50

Установка предопределенных элементов: просмотр, исправление и поиск ошибок (задвоенных и отсутствующих) Промо

Простая обработка для просмотра и установки значений предопределенных элементов. Позволяет заменить значение предопределенного элемента с одного элемента справочника на другой, удалить предопределенный элемент (снять пометку предопределенности), установить пометку переопределенного элемента. Проверяет предопределенные данные на наличие задвоений и отсутствующих. Работает со справочниками, планами счетов, планами видов характеристик, планами видов расчетов.

Читайте также: