Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Como ejecutar Query c/AxaptaComConnector ? (https://www.clubdelphi.com/foros/showthread.php?t=44183)

Martín González 30-05-2007 18:36:25

Como ejecutar Query c/AxaptaComConnector ?
 
BDD: SQL SErver.
ERP: Axapta.
Utilizando delphis puedo mediante un AxaptaCOMConnector estar en el "ambiente" Axapta y poder generar su RecId -consecutivo que Axapta genera por Empresa-.

Actualmente manejo este codigo y la consulta es general.

procedure TForm1.Button2Click(Sender: TObject);
var
Axapta,AxaptaQuery,AxaptaDataSource,
AxaptaQueryRun,AxaptaRange,AxaptaTableBuffer: variant;
AxaptaExecute : variant;
AxRec,no_tabla : variant;
nombre_tabla : string;
begin
ListBox1.Clear;
Axapta:=CreateOleObject('AxaptaCOMConnector.Axapta2');
Axapta.Logon2('act', 'act', '', '', '10.10.1.13', 'bmssafh');
AxRec :=Axapta.CreateObject('Clase_Global_FH');
nombre_tabla := 'actividad';
no_tabla := AxRec.Call('Obtener_Id_Tabla',nombre_tabla);
AxaptaQuery := Axapta.CreateObject('Query');
AxaptaDataSource := AxaptaQuery.Call('AddDataSource',no_tabla);
// AxaptaRange := AxaptaDataSource.Call('AddRange', 'dataareaid');
// AxaptaRange.Call('Value', 'fhl');
AxaptaQueryRun := Axapta.CreateObject( 'QueryRun', AxaptaQuery);
While (AxaptaQueryRun.Call('Next')) do
begin
AxaptaTableBuffer := AxaptaQueryRun.Call('GetNo', 1);
ListBox1.Items.Add(AxaptaTableBuffer.field['descripcion_actividad']);
end;
end;


De que manera puedo realizar el simil de un where campo1 = var and campo2=var2 ...etc
Ejemplo:
select * from actividad where dataareaid = 'fhl'
1.-
// AxaptaRange := AxaptaDataSource.Call('AddRange', 'dataareaid');
// AxaptaRange.Call('Value', 'fhl');

2.- Con una sentencia

O de esta forma.

procedure TForm1.btn_InsertarClick(Sender: TObject);
var
Axapta,AxaptaQuery,AxaptaDataSource,
AxaptaQueryRun,AxaptaRange,AxaptaTableBuffer: variant;
AxRec : variant;
val1 :variant;
begin
Axapta:=CreateOleObject('AxaptaCOMConnector.Axapta2');
Axapta.Logon2('act', 'act', '', '', '10.10.1.13', 'bmssafh');
AxRec := Axapta.CreateRecord('actividad');
axRec.ExecuteStmt('select * from actividad where dataareaid = 'fhl' ');
val1:=axRec.field['descripcion_actividad'];
end;

Pero no funciona, alguna sugerencia?.

Gracias y saludos Cordiales.


La franja horaria es GMT +2. Ahora son las 09:51:32.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi