FastReport Empezando

Post Reply
VitalJavier
Posts: 188
Joined: Mon Jun 10, 2013 6:40 pm

FastReport Empezando

Post 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.
xmanuel
Posts: 613
Joined: Sun Jun 15, 2008 7:47 pm
Location: Sevilla
Contact:

Re: FastReport Empezando

Post 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 :D
______________________________________________________________________________
Sevilla - Andalucía
VitalJavier
Posts: 188
Joined: Mon Jun 10, 2013 6:40 pm

Re: FastReport Empezando

Post 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
VitalJavier
Posts: 188
Joined: Mon Jun 10, 2013 6:40 pm

Re: FastReport Empezando

Post 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;
 
nnicanor
Posts: 296
Joined: Fri Apr 23, 2010 4:30 am
Location: Colombia

Re: FastReport Empezando

Post by nnicanor »

Tienes varias opciones
1) Envia la informacion filtrada antes a fastreport.
2) Has una relacion master detail

Slds
Nicanor Martinez M.
Auditoria y Sistemas Ltda.
MicroExpress Ltda.
FW + FWH + XHARBOUR + HARBOUR + PELLES C + XDEVSTUDIO + XEDIT + BCC + VC_X86 + VCC_X64 + MINGW + R&R Reports + FastReport + Tdolphin + ADO + MYSQL + MARIADB + ORACLE
nnicanor@yahoo.com
xmanuel
Posts: 613
Joined: Sun Jun 15, 2008 7:47 pm
Location: Sevilla
Contact:

Re: FastReport Empezando

Post 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
______________________________________________________________________________
Sevilla - Andalucía
xmanuel
Posts: 613
Joined: Sun Jun 15, 2008 7:47 pm
Location: Sevilla
Contact:

Re: FastReport Empezando

Post 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}])';
______________________________________________________________________________
Sevilla - Andalucía
Post Reply