AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
DAX
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 04.02.2003, 07:24   #23  
edd is offline
edd
Участник
 
81 / 10 (1) +
Регистрация: 20.01.2003
Что касается синтаксиса, то вот...

Структура dbf:
W:\Balans_N\OB23.DBF
Количество записей: 4547

N Имя поля Тип Длина
---------------------------------
1 MES Date 8
2 PACH Numeric 3
3 INV_N Numeric 5
4 VIDOB Numeric 1
5 CEX_KR Numeric 2
6 SH_KR Numeric 2
7 AN_KR Numeric 8
8 CEX_OS Numeric 2
9 SH_OS Numeric 2
10 AN_OS Numeric 8
11 SUMMA Numeric 18.2
12 KOLI Numeric 14
13 KPOTR Numeric 10
14 SUM_PL Numeric 15.2
15 VP Numeric 2
16 CHM_N Numeric 2
17 NAME_S Character 45
---------------------------------
Всего: 148

На одной кнопке:
void clicked()
{
CCADOConnection cn = new CCADOConnection();
CCADOCommand command = new CCADOCommand();
CCADORecordset rs = new CCADORecordset();
str _str = "";
str filename;
int pos;
FileNameFilter filter;
;
super();
filter = ['DBF files','ob23*.dbf'];
filename = Winapi::getOpenFileName(element.hWnd(),filter,'','', '','');
pos = StrScan(StrUpr(filename),"OB23",1,255);
_str = SubStr(StrUpr(filename),1,pos-1);

cn = new CCADOConnection();
cn.open("Driver={Microsoft dBASE Driver (*.dbf)};DriverID=277;Dbq="+_str+";");
command.activeConnection(cn);
_str = "select * from "+SubStr(StrUpr(filename),pos,StrLen(StrUpr(filename)));
command.commandText("select * from "+SubStr(StrUpr(filename),pos,StrLen(StrUpr(filename))));
if (cn)
{
rs = command.execute();
while (!rs.EOF())
{
OB23.PACH = rs.fields().itemname("PACH").value();
OB23.INV_N = rs.fields().itemname("INV_N").value();
OB23.MES = rs.fields().itemname("MES").value();
OB23.CEX_KR = rs.fields().itemname("CEX_KR").value();
OB23.VIDOB = rs.fields().itemname("VIDOB").value();
OB23.SH_KR = rs.fields().itemname("SH_KR").value();
OB23.NAME_S = rs.fields().itemname("NAME_S").value();
OB23.CHM_N = rs.fields().itemname("CHM_N").value();
OB23.VP = rs.fields().itemname("VP").value();
OB23.SUM_PL = rs.fields().itemname("SUM_PL").value();
OB23.KPOTR = rs.fields().itemname("KPOTR").value();
OB23.KOLI = rs.fields().itemname("KOLI").value();
OB23.SUMMA = rs.fields().itemname("SUMMA").value();
OB23.AN_OS = rs.fields().itemname("AN_OS").value();
OB23.AN_OS = substr('0000000'+OB23.AN_OS,strlen(OB23.AN_OS),8);
OB23.CEX_OS = rs.fields().itemname("CEX_OS").value();
OB23.SH_OS = rs.fields().itemname("SH_OS").value();
OB23.AN_KR = rs.fields().itemname("AN_KR").value();
OB23.AN_KR = substr('0000000'+OB23.AN_KR,strlen(OB23.AN_KR),8);
OB23.insert();
rs.moveNext();
}
rs.close();
OB23_DS.executeQuery();
}
}

На другой:
void clicked()
{
OdbcConnection connection;
LoginProperty LP = new LoginProperty();
Statement stm;
ResultSet res;
str stmTxt = "select * from ob23.dbf";
;
super();

LP.setDSN("DBF");
connection = new OdbcConnection(LP);
stm = connection.createStatement();
res = stm.executeQuery(stmTxt);

while (res.next())
{
OB23.MES = res.getDate(1);
OB23.PACH = res.getInt(2);
OB23.INV_N = res.getInt(3);
OB23.VIDOB = res.getInt(4);
OB23.CEX_KR = res.getInt(5);
OB23.SH_KR = res.getInt(6);
OB23.AN_KR = int2str(res.getInt(7));
OB23.CEX_OS = res.getInt(8);
OB23.SH_OS = res.getInt(9);
OB23.AN_OS = int2str(res.getInt(10));
OB23.SUMMA = res.getReal(11);
OB23.KOLI = res.getInt(12);
OB23.KPOTR = Num2Str(res.getReal(13),10,0,1,0);
OB23.SUM_PL = res.getReal(14);
OB23.VP = res.getInt(15);
OB23.CHM_N = res.getInt(16);
OB23.NAME_S = res.getString(17);
OB23.insert();
}
res.close();
OB23_DS.executeQuery();
}
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Как обновить форму, если добавление через кнопку? Arahnid DAX: Программирование 5 21.05.2007 11:18
Бинарные данные в Axapta Lucky13 DAX: Программирование 4 07.04.2007 11:51
Вытащить данные на форму Protey DAX: Программирование 25 19.03.2007 16:28
Можно ли редактировать форму, если на нее наложен addRange? Hans DAX: Программирование 10 22.05.2006 16:35
почти DBF Gorlum DAX: Программирование 3 17.03.2006 12:52

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 11:44.