Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.12.2012, 21:52   #1
Kerby666
Пользователь
 
Регистрация: 10.12.2012
Сообщений: 64
По умолчанию Быстрый экспорт данных в Access

Здравствуйте! Не могу разобраться. Имеется Delphi 2007, ADO+Access. В базе всего одна таблица. Три поля. Записей планируется где-то от 10 до 20 тысяч. Данные должны экспортироваться из 1с. Это значит, что на выходе из 1С я могу иметь или txt (с разделителем), или xls или dbf. Можно выбрать что мне больше подойдет. А вот сам процесс экспорта из файла в Access не получается. Про txt вычитал, что вообще очень медленно получится. Суть дела такова, необходимо найти оптимальный и простой способ экспорта в Access. И по возможности с примерами. Спасибо!
Kerby666 вне форума Ответить с цитированием
Старый 11.12.2012, 01:02   #2
maLoy*508
Форумчанин
 
Аватар для maLoy*508
 
Регистрация: 28.03.2008
Сообщений: 672
По умолчанию

я обычно выгружаю в дбф, после чего загружаю куда надо... если что обращайся
maLoy*508 вне форума Ответить с цитированием
Старый 11.12.2012, 09:05   #3
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

20 000 ??? чего тут медленного то?? к тому же как вы пишите у вас всего 3 поля, без доп. связей.
А вообще Access умеет открывать и экселевские файлы и DBF ... вообще проблемы нету.
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Старый 11.12.2012, 11:43   #4
xoodoo
Форумчанин
 
Регистрация: 11.04.2012
Сообщений: 212
По умолчанию

Цитата:
из 1С я могу иметь или txt (с разделителем), или xls или dbf
1С поддерживает прямой доступ к СУБД, если для этой СУБД в опер.системе установлен и зарегистрирован соответствующий OLEDB-провайдер.
Остается только написать модуль обработки, подключающийся к ADO и использующий MSACCESS OLEDB-провайдер для прямого коннекта к базе MS Access.
xoodoo вне форума Ответить с цитированием
Старый 11.12.2012, 18:25   #5
Kerby666
Пользователь
 
Регистрация: 10.12.2012
Сообщений: 64
По умолчанию

Цитата:
Сообщение от maLoy*508 Посмотреть сообщение
я обычно выгружаю в дбф, после чего загружаю куда надо... если что обращайся
Я пробовал к dbf напрямую коннектиться через ADO. В dbgrid вывел. Далее по плану перебираю ADOTable по имени первого поля ('Barcode'). В Access все ищется и находится. A в dbf как я понял кодировка другая и имя поля вообще не воспринимается=(( Хотя в grid'e все читабельно.

Цитата:
Сообщение от WorldMaster Посмотреть сообщение
20 000 ??? чего тут медленного то?? к тому же как вы пишите у вас всего 3 поля, без доп. связей.
А вообще Access умеет открывать и экселевские файлы и DBF ... вообще проблемы нету.
Тогда может подкинете пример экспорта из тxt в access средствами delphi (3 поля с разделителем). Я находил пример на два поля. Адаптировать под себя на три как-то не вышло.

Цитата:
1С поддерживает прямой доступ к СУБД, если для этой СУБД в опер.системе установлен и зарегистрирован соответствующий OLEDB-провайдер.
Остается только написать модуль обработки, подключающийся к ADO и использующий MSACCESS OLEDB-провайдер для прямого коннекта к базе MS Access.
Иными словами, я могу выгрузить из 1с прямо в access?? Как быть с монопольным доступом к базе?

Последний раз редактировалось Stilet; 16.12.2012 в 12:23.
Kerby666 вне форума Ответить с цитированием
Старый 11.12.2012, 20:46   #6
maLoy*508
Форумчанин
 
Аватар для maLoy*508
 
Регистрация: 28.03.2008
Сообщений: 672
По умолчанию

Цитата:
Сообщение от Kerby666 Посмотреть сообщение
Я пробовал к dbf напрямую коннектиться через ADO. В dbgrid вывел. Далее по плану перебираю ADOTable по имени первого поля ('Barcode'). В Access все ищется и находится. A в dbf как я понял кодировка другая и имя поля вообще не воспринимается=(( Хотя в grid'e все читабельно.
Код в студию, посмотрим что там к чему
maLoy*508 вне форума Ответить с цитированием
Старый 11.12.2012, 21:32   #7
Kerby666
Пользователь
 
Регистрация: 10.12.2012
Сообщений: 64
По умолчанию

Цитата:
Сообщение от maLoy*508 Посмотреть сообщение
Код в студию, посмотрим что там к чему
Код:
function TForm1.ItemByBarcode(const Barcode: string;
  var Item: TBarcodeItem): Boolean;
begin
  Result := False;
  AdoTable1.First;
  while not ADOTAble1.Eof do
  begin
    Result := AdoTable1.FieldByName('barcode').AsString = Barcode;
    if Result then
    begin
      Item.Line1 := ADOTable1.FieldByName('Line1').Value;
      Item.Line2 := ADOTable1.FieldByName('Line2').Value;
      Break;
    end;
    ADOTable1.Next;
  end;
end;


___________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 12.12.2012 в 09:32.
Kerby666 вне форума Ответить с цитированием
Старый 12.12.2012, 05:41   #8
Slym
Участник клуба
 
Регистрация: 07.12.2011
Сообщений: 1,025
По умолчанию

Это копец... поиск методом Фулскан строк на стороне клиента...
Запросы не учили? Если поле Barcode будет индексировано - то запросом на порядки быстрее.
SELECT * FROM TableName WHERE barcode= MyBarCode;
Не стесняемся, плюсуем!
Slym вне форума Ответить с цитированием
Старый 12.12.2012, 11:46   #9
Kerby666
Пользователь
 
Регистрация: 10.12.2012
Сообщений: 64
Восклицание

Цитата:
Сообщение от Slym Посмотреть сообщение
Это копец... поиск методом Фулскан строк на стороне клиента...
Запросы не учили? Если поле Barcode будет индексировано - то запросом на порядки быстрее.
SELECT * FROM TableName WHERE barcode= MyBarCode;
Я согласен с тем, что код можно оптимизировать. Это вообще модифицированный пример от драйвера железяки одной. Суть не в этом. Помогите с экспортом данных в базу ACCESS. Сроки горят А потом руки дойдут и до поиска селектом.
Kerby666 вне форума Ответить с цитированием
Старый 12.12.2012, 12:03   #10
Slym
Участник клуба
 
Регистрация: 07.12.2011
Сообщений: 1,025
По умолчанию

яндекс рулит
http://www.sql.ru/forum/actualthread.aspx?tid=903533
тут выборка... но переделать во вставку не проблема...
Не стесняемся, плюсуем!
Slym вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Экспорт данных из Access в Word, C# Miaka Помощь студентам 0 09.05.2012 17:32
Импорт-экспорт данных Excel-Access, и из Access-Excel Людвиг Microsoft Office Access 3 27.10.2011 14:38
экспорт данных из access в существующие файлы word и excel Margaret Microsoft Office Access 4 10.12.2010 15:44
Экспорт данных из SQL Server в Access Daniar БД в Delphi 0 02.12.2010 17:56