PDA

Ver la Versión Completa : fallo : incompatible types : String and TQRDBText


chele
26-10-2004, 11:36:27
Sabeis que tengo que hacer para poder meterle el valor ???

Tengo ahora puesto esto :

nombre4.caption := 'INVOICE Number' + numerofactura;

Y numerofactura es TQRDBText y no me deja hacer esto en codigo.

¿Alguna idea?.

Gracias anticipadas.

Investment
26-10-2004, 11:42:29
nombre4.caption := 'INVOICE Number' + numerofactura.text;

chele
26-10-2004, 12:02:27
nombre4.caption := 'INVOICE Number' + numerofactura.text;
Me dice 'Undeclared identifier text'

El numerofactura es un campo que ya tengo .... y es un tqrdbtext

¿alguna otra idea?

Investment
26-10-2004, 12:22:03
Uppss...

Será .caption???

chele
26-10-2004, 12:29:49
Uppss...

Será .caption???
El caption me muestra el nombre, es decir si pongo esto :

nombre4.caption := 'FACTURA Nº' + numerofactura.caption;

Me pone :

FACTURA Nº numerofactura

Probe a poner el :

nombre4.caption := 'FACTURA Nº' + numerofactura.datafield;

Pero tampoco va ... ¿alguna otra idea?

Investment
26-10-2004, 12:50:50
Empecemos por el principio:

numerofactura es un TQRDBText que debes tener asociado a un Dataset y a un datafiled

Si en el evento OnPrint del componente pones
ShowMessage(Value)
te deberia aparecer en pantalla el valor de ese campo que se va a escribir en el TQRDBText numerofactura

Si en ese mismo evento pones

nombre4.caption := 'INVOICE Number' + Value;

tendría que aparecerte lo que quieres en nombre4 de tu formulario

jhonny
26-10-2004, 18:26:55
Y numerofactura es TQRDBText y no me deja hacer esto en codigo.


Bueno si es un TQRDBText entonces debe apuntar a un dataset en algun campo en este caso el campo "numerofactura".

Para lograr lo que quieres entonces, no seria:

nombre4.caption := 'INVOICE Number' + numerofactura;
Si no:

nombre4.caption := 'INVOICE Number' + DataSetNUMEROFACTURA.AsString;

Donde Dataset Es el DataSet asociado y NUMEROFACTURA el nombre del campo al que apunta la propiedad DataField de tu TQRDBText.

Espero me haga hecho entender y que te sirva.

chele
27-10-2004, 16:10:17
La cosa es que yo no lo llamo desde un datafield propiamente dicho, si no mas
bien desde :


cadenaSQL := 'select distinct facturagastoext.gastoext, expedientes.refcomp as referencia, nombre as nombre, apellidos as apellidos,'
+ ' porciva as iva, FacturasCias.codexp as codexp, FacturasCias.CODFAC as numerofactura,'
+ 'femision as fecha, compania.nombre as a, direccion as b, cp as c, provincia as d, poblacion as e,'
+ ' nif as f, codhonor as a1, facturagastoext.gastoext as pago,honormedcol as honorarios,'
+ ' (base - honormedcol) as gestion, totfac as total, compania.idioma'

+ ' from ((((compania inner join FacturasCias on compania.codcompania=facturascias.codcia)'
+ ' inner join honorcias on honorcias.codhoncia=FacturasCias.codhonor))'
+ ' inner join facturas on facturas.codexp=FacturasCias.codexp'
+ ' inner join expedientes on FacturasCias.codexp=expedientes.codexp)'
+ ' inner join facturagastoext on facturagastoext.expediente=expedientes.codexp'
+ ' inner join asegurados on expedientes.codaseg=asegurados.codaseg'




+ ' where FacturasCias.CODFAC = "'
+ inttostr(datamodule2.qryFacturasCiasCODFAC.Value) + '"';

qry := TIBQuery.Create(qry);
qry.database := datamodule2.database;
Qry.SQL.Text := cadenaSQL;
qry.open();

llistat := Tfactura2.create(Self);
llistat.idioma.DataSet :=qry;
llistat.QuickRep1.DataSet := qry;



ME entiendes ???

ASi que no se como hacer lo que me pides luego :(