Page 1 of 1
FastReport Empezando
Posted: Thu Oct 17, 2013 2:24 pm
by VitalJavier
Hola, buen día a todos.
Alguien me podría dar un ejemplo de FR pero con "DbSetfilter"
CallHbFunc('DbSetFilter', [par1,par2);
En par1 y par2 ya le puse de todo y no me hace el filtrado
Agradezco su ayuda.
Re: FastReport Empezando
Posted: Thu Oct 17, 2013 3:09 pm
by xmanuel
El primer parámetro es un codeblock y el segundo un string ambos con la condición de filtro:
Ej.
par1 := {|| MYALIAS->NUMERIC > 2 .AND. MYALIAS->NUMERIC < 8 }
par2 := "MYALIAS->NUMERIC > 2 .AND. MYALIAS->NUMERIC < 8"
CallHbFunc( 'DbSetFilter', par1, par2 );
Espero que te valga
Re: FastReport Empezando
Posted: Thu Oct 17, 2013 4:21 pm
by VitalJavier
Manuel, buen dia.
Le estoy haciendo asi :
Code: Select all
procedure Button1OnClick(Sender: TfrxComponent);
var
cCad1,cCad2: String;
begin
cCad1 := '{||"COLA"$ARTICULOS->NOMBRE}'; <=== Este es el codeblock
cCad2 := '"COLA"$ARTICULOS->NOMBRE';
CallHbFunc('DbSelectArea', ['ARTICULOS']);
CallHbFunc('DbSetFilter', [cCad1,cCad2]);
IF RadioButton1.checked then CallHbFunc('OrdSetFocus', [2]);
IF RadioButton2.checked then CallHbFunc('OrdSetFocus', [1]);
end;
Asi no me funciona
Re: FastReport Empezando
Posted: Thu Oct 17, 2013 7:01 pm
by VitalJavier
hice _ y sigue sin funcionar
Code: Select all
procedure Button1OnClick(Sender: TfrxComponent);
var
cCad3, cCad2: String;
cCad1: Integer;
begin
cCad3 := '{||"'+Edit1.text+'"$ARTICULOS->NOMBRE}';
cCad2 := '"'+Edit1.text+'"$ARTICULOS->NOMBRE';
cCad1 := CreateCodeBlock(cCad3);
CallHbFunc('DbSelectArea', ['ARTICULOS']);
IF RadioButton1.checked then CallHbFunc('OrdSetFocus', ['NOMBRE']);
IF RadioButton2.checked then CallHbFunc('OrdSetFocus', ['ARTICULO']);
CallHbFunc('DbSetFilter', [cCad1,cCad2]);
end;
Re: FastReport Empezando
Posted: Fri Oct 18, 2013 5:16 pm
by nnicanor
Tienes varias opciones
1) Envia la informacion filtrada antes a fastreport.
2) Has una relacion master detail
Slds
Re: FastReport Empezando
Posted: Fri Oct 18, 2013 9:51 pm
by xmanuel
En teoría si lo está haciendo así estás enviando una cadena:
cCad1 := '{||"COLA"$ARTICULOS->NOMBRE}'; <=== Este es el codeblock
Prueba sin las comillas simples:
cCad1 := {||"COLA"$ARTICULOS->NOMBRE}; <=== Este es el codeblock
Re: FastReport Empezando
Posted: Fri Oct 18, 2013 10:16 pm
by xmanuel
Perdón, perdón ahora me doy cuentas que es código Pascal o el que usa FastReport...
La verdad es que ya se me escapa pues no he usado FastReport nunca pero bueno prueba a compilar el codeblock con una macro:
cCad1 := '&( [{||"COLA"$ARTICULOS->NOMBRE}])';