<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body text="#000000" bgcolor="#FFFFCC">
<div class="moz-cite-prefix">Hola Ismael<br>
<br>
Probaste de agregar :<br>
rsc3.IndexFieldNames := ''; <br>
dentro de tu procedimiento procedure Tdm.p_rssc3(sqlstr: string;
blnread: boolean);
??<br>
<br>
De cualquier manera no te convendria usar "order by" en tu query?,
es decir agregar al final de tu cadena strsql:=strsql+ ' order by
cuenta, sctaor, subcta, capor, capitulo, scapor, subcap, eleor,
elemento, empor, empresa';<br>
Luego si necesitas otro orden podes modificar el query ya que de
cualquier manera lo cerras y volves a abrir.<br>
<br>
saludos!<br>
<br>
German<br>
<br>
El 04/09/2013 04:35 p.m., Ismael L. Donis Garcia escribió:<br>
<br>
</div>
<blockquote
cite="mid:F15181C7146A4E6E8BE5EBEBF2CF9B02@eicc.citricos.cu"
type="cite">Cuando intento abrir un TSQLQuery que previamente lo
había abierto y después le había pasado como parámetro un grupo de
índices cuando lo intento abrir de nuevo con otro SQL me dice que
un campo no existe. Yo se que no existe porque no está en el SQL,
estaba en el SQL con que lo había abierto anteriormente, pero no
con el que lo estoy intentando abrir de nuevo.
<br>
<br>
Relizo lo siguiente:
<br>
<br>
strsql := 'select s.cuenta, s.subcta, s.capitulo, s.subcap,
s.elemento, s.empresa, s.debe, s.haber, s.saldo, s.nat,
s.descripcion, ';
<br>
strsql := strsql + 's.nota, s.nota1, s.nota2, s.nota3, s.sctaor,
s.capor, s.scapor, s.eleor, s.empor from scsal s where (s.idsa is
null)';
<br>
dm.p_rssc3(strsql, false);
<br>
<br>
después le paso un índice d ela siguiente forma:
<br>
<br>
dm.rssc3.IndexFieldNames:='cuenta; sctaor; subcta; capor;
capitulo; scapor; subcap; eleor; elemento; empor; empresa';
<br>
<br>
Y cuando lo intento abrir de nuevo con:
<br>
<br>
strsql := 'select s.cuenta, s.subcta, s.capitulo, s.subcap,
s.elemento, s.empresa, s.saldo, s.descripcion, ';
<br>
strsql := strsql + 's.sctaor, s.capor, s.scapor, s.eleor from
scsal s where (s.idsa is null)';
<br>
dm.p_rssc3(strsql, false);
<br>
<br>
Me da error en la línea: rssc3.Open;
<br>
Me dice que falta el campo empor el cual use en la cunsulta
anterior, pero que por supuesto no está en esta.
<br>
<br>
El procedimiento que llamo es:
<br>
<br>
procedure Tdm.p_rssc3();
<br>
begin
<br>
if trasc3.Active then trasc3.EndTransaction;
<br>
rssc3.Close;
<br>
end;
<br>
<br>
procedure Tdm.p_rssc3(sqlstr: string; blnread: boolean);
<br>
begin
<br>
p_rssc3();
<br>
rssc3.Filter:='';
<br>
rssc3.SQL.Clear;
<br>
rssc3.SQL.Text := sqlstr;
<br>
rssc3.ReadOnly := blnread;
<br>
trasc3.StartTransaction;
<br>
rssc3.Open;
<br>
end;
<br>
<br>
<br>
Se que el error me lo está dando por usar:
<br>
<br>
dm.rssc3.IndexFieldNames:=xxxx
<br>
<br>
Pero lo necesito usar.
<br>
<br>
E intentado resetear dicha propiedad por todas las vías antes de
decir: rssc3.Open; pero no he encontrado la forma de como hacerlo
sin que me de error.
<br>
<br>
Toda ayuda será bien venida.
<br>
<br>
Saludos Cordiales
<br>
========
<br>
| ISMAEL |
<br>
========
<br>
Only for the small landowners and Cubans companies
<br>
Website: <a class="moz-txt-link-abbreviated" href="http://www.sisconge.byethost15.com">www.sisconge.byethost15.com</a>
<br>
<a class="moz-txt-link-abbreviated" href="http://www.sisconge.hol.es">www.sisconge.hol.es</a> <br>
<br>
<br>
_______________________________________________
<br>
Lazarus-es mailing list
<br>
<a class="moz-txt-link-abbreviated" href="mailto:Lazarus-es@lists.lazarus.freepascal.org">Lazarus-es@lists.lazarus.freepascal.org</a>
<br>
<a class="moz-txt-link-freetext" href="http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es">http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es</a>
<br>
<br>
</blockquote>
<br>
</body>
</html>