Последние записи
- TChromium (CEF3), сохранение изображений
- Как в Delphi XE обнулить таймер?
- Изменить цвет шрифта TextBox на форме
- Ресайз PNG без потери прозрачности
- Вывод на печать графического файла
- Взаимодействие через командную строку
- Перенести программу из Delphi в Lazarus
- Определить текущую ОС
- Автоматическая смена языка (раскладки клавиатуры)
- Сравнение языков на массивах. Часть 2
Интенсив по Python: Работа с API и фреймворками 24-26 ИЮНЯ 2022. Знаете Python, но хотите расширить свои навыки?
Slurm подготовили для вас особенный продукт! Оставить заявку по ссылке - https://slurm.club/3MeqNEk
Online-курс Java с оплатой после трудоустройства. Каждый выпускник получает предложение о работе
И зарплату на 30% выше ожидаемой, подробнее на сайте академии, ссылка - ttps://clck.ru/fCrQw
20th
Дек
Быстрый экспорт данных из dbf в Access
Posted by maloy under Delphi
kerby666
Не могу разобраться. Имеется Delphi 2007, ADO+Access. В базе всего одна таблица. Три поля. Записей планируется где-то от 10 до 20 тысяч. Данные должны экспортироваться из 1с. Это значит, что на выходе из 1С я могу иметь или txt (с разделителем), или xls или dbf. Можно выбрать что мне больше подойдет. А вот сам процесс экспорта из файла в Access не получается. Про txt вычитал, что вообще очень медленно получится. Суть дела такова, необходимо найти оптимальный и простой способ экспорта в Access. И по возможности с примерами. Спасибо!
Прик
Есть еще способ. Можно сказать, «мгновенный». Этим способом я загружаю в акесс более 200 тыс записей из dbf за 3 секунды. Собственно, это и есть тот самый способ (пост #54), только средствами Дельфи.
uses ComObj, AccessXP;
var
Acc : TAccessApplication;
procedure TForm1.Button1Click(Sender: TObject);
begin
Acc := TAccessApplication.Create(Self);
Acc.Connect;
Acc.OpenCurrentDatabase('В:\pdb.mdb' , true, '');
Acc.Visible := True; //а вот посмотрим чего там происходит
Acc.DoCmd.TransferDatabase(acImport, 'dBase IV',
'D:\WORK\KLADR2012', acTable,
'KLADR.DBF', //откуда
'KLADR', //имя НОВОЙ таблицы в БД
false, false);
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Acc.Free;
end;
Если нужно импорт делать не раз, то придется решить несложную задачу убивать прежде созданную таблицу. Иначе они будут плодится с тем же именем, но с присоединенными справа номерами.
Хм. Рекомендую. Протестировано на Д7.
тема на форуме от 2012 года
Похожие статьи
Купить рекламу на сайте за 1000 руб
пишите сюда - alarforum@yandex.ru
Да и по любым другим вопросам пишите на почту
пеллетные котлы
Пеллетный котел Emtas
Наши форумы по программированию:
- Форум Web программирование (веб)
- Delphi форумы
- Форумы C (Си)
- Форум .NET Frameworks (точка нет фреймворки)
- Форум Java (джава)
- Форум низкоуровневое программирование
- Форум VBA (вба)
- Форум OpenGL
- Форум DirectX
- Форум CAD проектирование
- Форум по операционным системам
- Форум Software (Софт)
- Форум Hardware (Компьютерное железо)