AXForum  
Go Back   AXForum > Microsoft Dynamics NAV > NAV: Прочие вопросы
All
Forgotten Your Password?
Register Forum Rules FAQ Members List Today's Posts Search

 
 
Thread Tools Search this Thread Display Modes
Old 13.02.2006, 09:53   #1  
poul_and is offline
poul_and
Участник
 
56 / 12 (1) ++
Join Date: 08.04.2003
Вопрос от чайника по работе с ODBC
Проблема такая - есть .dbf файл с полями id, Date и Value. Нужно перенести из этого файла в Навижн(версия 3.10) записи за последние 30 дней. Вроде как нужно использовать ODBC, но сам это никогда не делал. Набросайте плиз кратенький примерчик как это реализовать.
Old 13.02.2006, 10:05   #2  
IGG is offline
IGG
Участник
 
665 / 29 (2) +++
Join Date: 24.08.2005
Location: СПб/Москва
Я бы с ODBC не работал - много геморроя.
Самый простой пусть - засасываете в Excel, потом сохраняете его как MS-DOS CSV, а потом через датапорт закачиваете без проблем
А примеры в форуме где-то были. Мало того блок в навижне по пенсионному фонду вроде имеет код работы с dbf
Old 14.02.2006, 10:13   #3  
poul_and is offline
poul_and
Участник
 
56 / 12 (1) ++
Join Date: 08.04.2003
эту фигню надо автоматизировать - чтоб бабуля-оператор нажимала одну кнопку!
Old 14.02.2006, 10:13   #4  
poul_and is offline
poul_and
Участник
 
56 / 12 (1) ++
Join Date: 08.04.2003
блока по пенсионному фонду у нас нет
Old 15.02.2006, 05:03   #5  
gennady is offline
gennady
Участник
 
92 / 11 (1) +
Join Date: 27.09.2004
Location: Иркутск
Как я это сделал, правда, в версии 3.6. Посмотрите, может, подойдет.
// Connection = 'Microsoft ActiveX Data Objects 2.8 Library'.Connection
//Path = путь доступа к DBF файлу
IF NOT ISCLEAR(Connection) THEN
CLEAR(Connection);
CREATE(Connection);

ConnStr := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' + Path + ';Extended Properties=DBASE IV;';
Connection.Open(ConnStr);

// RecSet = 'Microsoft ActiveX Data Objects 2.8 Library'.Recordset
//Field = 'Microsoft ActiveX Data Objects 2.8 Library'.Field
IF ISCLEAR(RecSet) THEN
CREATE(RecSet);

RecSet.Open('select * from ' + DBFfile + ' where INSTR(VALUE,"value") = 1',Connection);
RecSet.MoveFirst;
WHILE NOT RecSet.EOF DO BEGIN
NaviVal := FORMAT(RecSet.Fields.Item('VALUE').Value);
//…

RecSet.MoveNext;
END;

RecSet.Close;
Connection.Close;

//Эта фун-я применяется для тех импорируемых полей, которые могут содержать пустые значения
Result := '';
EVALUATE(Size, FORMAT(RecSet.Fields.Item(FieldName).ActualSize));
IF Size <> 0 THEN
Result := FORMAT(RecSet.Fields.Item(FieldName).Value);
EXIT(Result);
 

Similar Threads
Thread Thread Starter Forum Replies Last Post
Вопрос по ценам на товары shpon NAV: Функционал 4 17.11.2006 10:29
Внесение исправлений после оприходования товара - как? Вопрос юзера ;) Gerasim NAV: Функционал 14 03.11.2005 16:07
Простой вопрос. RemO NAV: Программирование 4 16.08.2005 23:39
C/FRONT C/ODBC Вождь NAV: Программирование 2 28.07.2003 15:57
Доступ через C/ODBC: Транзакции Incontrovertable NAV: Программирование 4 07.07.2003 16:40

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Рейтинг@Mail.ru
All times are GMT +3. The time now is 22:38.
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Contacts E-mail, Advertising.