<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=utf-8">
<META content="MSHTML 6.00.2900.5512" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT face=Arial size=2>Campos creados? No nunca en tiempo de diseño le he
agregado campos. Siempre lo he trabajado de la forma que explico más
abajo.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>No, yo solo inserte los objetos <FONT
face="Times New Roman" size=3> TIBConnection, TSQLTransaction y TSQLQuery en un
DataModule y san se acabo.</FONT></FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Después los uso con procedimientos púbicos de la
siguiente manera.</FONT></DIV>
<DIV><FONT face=Arial size=2><BR>procedure Tdm.p_rssc3();<BR>begin<BR> if
trasc3.Active then trasc3.EndTransaction;<BR> rssc3.Close;<BR>end;</DIV>
<DIV> </DIV>
<DIV>procedure Tdm.p_rssc3(sqlstr: string; blnread: boolean);<BR>begin<BR>
p_rssc3();<BR> rssc3.IndexFieldNames:=''; //Esta propiedad se la puse
ahora pero hace caso omiso de ella donde quiera que la ponga.<BR>
rssc3.Filter:='';<BR> rssc3.SQL.Clear;<BR> rssc3.SQL.Text :=
sqlstr;<BR> rssc3.ReadOnly := blnread;<BR>
trasc3.StartTransaction;<BR> rssc3.Open;<BR>end;</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Repito que si no uso la propiedad IndexFieldNames,
pero me es necesaria para mostrar un reporte. Si no muestro ese reporte todo
funciona bien. Y si le quito dicha propiedad al reporte también todo funciona
bien menos el reporte que no me sale de la forma correcta. Ya que al LastReport
hay que pasarle los datos organizados porque carece de una propiedad
IndexFieldNames. Porque si la tuviera podría hacer:</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial
size=2>TfrDBDataSet.DataSet.IndexFieldNames:='xxxxxx';</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Y no tendría que usar la propiedad IndexFieldNames
del TSQLQuery. Pero aun así creo que eso es un bug del TSQLQuery. Pero por
sierto que me tiene trancado de tal forma que no se como
resolverlo.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Esta tarde trataré de mirar el código del TSQLQuery
a ver si puedo dar con el problema. O talves Maxi que tu también dominas más
este lenguaje le podrías hechar una miradita. Porque la verdad que ya no se
porque vía mirar desde un usuario normal, ósea sin urgar en el código de los
componenetes de Lazarus.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Saludos Reiterados</FONT></DIV>
<DIV>========<BR>| ISMAEL |<BR>========<BR>----- Original Message ----- </DIV>
<BLOCKQUOTE
style="PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
<DIV
style="BACKGROUND: #e4e4e4; FONT: 10pt arial; font-color: black"><B>From:</B>
<A title=maximiliano.duarte@gmail.com
href="mailto:maximiliano.duarte@gmail.com">Maxi</A> </DIV>
<DIV style="FONT: 10pt arial"><B>To:</B> <A
title=lazarus-es@lists.lazarus.freepascal.org
href="mailto:lazarus-es@lists.lazarus.freepascal.org">Spanish version of
Lazarus List</A> </DIV>
<DIV style="FONT: 10pt arial"><B>Sent:</B> Wednesday, September 04, 2013 7:10
PM</DIV>
<DIV style="FONT: 10pt arial"><B>Subject:</B> Re: [Lazarus-es] Error al
intentar abrir un TSQLQuery</DIV>
<DIV><BR></DIV>
<P>Tenes campos creados en el.objeto?<BR></P>
<DIV class=gmail_quote>El 04/09/2013 17:33, "Ismael L. Donis Garcia" <<A
href="mailto:ismael@citricos.co.cu">ismael@citricos.co.cu</A>> escribió:<BR
type="attribution">
<BLOCKQUOTE class=gmail_quote
style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid"><U></U>
<DIV bgcolor="#ffffcc" text="#000000">
<DIV><FONT face=Arial>Si probe poner por todos lados y sin ningún
efecto.</FONT></DIV>
<DIV><FONT face=Arial></FONT> </DIV>
<DIV><FONT face=Arial>Lo puse en las siguientes partes:</FONT></DIV>
<DIV><FONT face=Arial></FONT> </DIV><FONT face=Arial>
<DIV><BR>procedure Tdm.p_rssc3();<BR>begin<BR> if trasc3.Active then
begin<BR> rssc3.IndexFieldNames:='';<BR>
trasc3.EndTransaction;<BR>
end;<BR> rssc3.IndexFieldNames:='';<BR> rssc3.Close;<BR>end;</DIV>
<DIV> </DIV>
<DIV>procedure Tdm.p_rssc3(sqlstr: string; blnread:
boolean);<BR>begin<BR> p_rssc3();<BR>
rssc3.IndexFieldNames:='';<BR> rssc3.Filter:='';<BR>
rssc3.IndexFieldNames:='';<BR> rssc3.SQL.Clear;<BR>
rssc3.IndexFieldNames:='';<BR> rssc3.SQL.Text := sqlstr;<BR>
rssc3.IndexFieldNames:='';<BR> rssc3.ReadOnly := blnread;<BR>
rssc3.IndexFieldNames:='';<BR> trasc3.StartTransaction;<BR>
rssc3.IndexFieldNames:='';<BR> rssc3.Open;<BR>end;</DIV>
<DIV> </DIV>
<DIV>Sin ningún resultado satisfactorio. Me sigue diciendo que no tiene
el campo "empor". Yo se que no está ya que está en la consulta
anterior. No en la que quiero realizar cuando me da
error.
</DIV></FONT></DIV>
<DIV><FONT face=Arial></FONT> </DIV>
<DIV><FONT face=Arial>No puedo usar order by en la consulta porque es una
consulta calculada. Si miras bien en la consulta aparece "<FONT
face="Times New Roman" size=3>where (s.idsa is null)</FONT>"</FONT></DIV>
<DIV><FONT face=Arial></FONT> </DIV>
<DIV><FONT face=Arial>Donde "idsa" es la clave primaria de la tabla, por tal
motivo la consulta no devuelve ningún registro ya que posteriormente es que
se le agrega mediante la instrucción.</FONT></DIV>
<DIV><FONT face=Arial></FONT> </DIV>
<DIV><FONT face=Arial>dm.rssc3.Append;</FONT></DIV>
<DIV><FONT face=Arial>...</FONT></DIV>
<DIV><FONT face=Arial></FONT> </DIV>
<DIV><FONT face=Arial>Como ves lo intentado de todas las formas. Por lo que
no se si será un problema del TSQLQuery.</FONT></DIV>
<DIV><FONT face=Arial></FONT> </DIV>
<DIV><FONT face=Arial>Estoy Usando Firebird 2.5.2 Update 1 como base de
datos.</FONT></DIV>
<DIV>========<BR>| ISMAEL |<BR>========<BR>----- Original Message -----
</DIV>
<BLOCKQUOTE
style="PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
<DIV style="BACKGROUND: #e4e4e4; FONT: 10pt arial"><B>From:</B> <A
title=german_morre@yahoo.com.ar href="mailto:german_morre@yahoo.com.ar"
target=_blank>German</A> </DIV>
<DIV style="FONT: 10pt arial"><B>To:</B> <A
title=lazarus-es@lists.lazarus.freepascal.org
href="mailto:lazarus-es@lists.lazarus.freepascal.org"
target=_blank>Spanish version of Lazarus List</A> </DIV>
<DIV style="FONT: 10pt arial"><B>Sent:</B> Wednesday, September 04, 2013
3:47 PM</DIV>
<DIV style="FONT: 10pt arial"><B>Subject:</B> Re: [Lazarus-es] Error al
intentar abrir un TSQLQuery</DIV>
<DIV><BR></DIV>
<DIV>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 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
href="http://www.sisconge.byethost15.com"
target=_blank>www.sisconge.byethost15.com</A>
<BR>
<A href="http://www.sisconge.hol.es"
target=_blank>www.sisconge.hol.es</A>
<BR><BR><BR>_______________________________________________
<BR>Lazarus-es mailing list <BR><A
href="mailto:Lazarus-es@lists.lazarus.freepascal.org"
target=_blank>Lazarus-es@lists.lazarus.freepascal.org</A> <BR><A
href="http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es"
target=_blank>http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es</A>
<BR><BR></BLOCKQUOTE><BR>
<P>
<HR>
<P></P>_______________________________________________<BR>Lazarus-es
mailing list<BR><A href="mailto:Lazarus-es@lists.lazarus.freepascal.org"
target=_blank>Lazarus-es@lists.lazarus.freepascal.org</A><BR><A
href="http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es"
target=_blank>http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es</A><BR>
<P></P></BLOCKQUOTE><BR>_______________________________________________<BR>Lazarus-es
mailing list<BR><A
href="mailto:Lazarus-es@lists.lazarus.freepascal.org">Lazarus-es@lists.lazarus.freepascal.org</A><BR><A
href="http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es"
target=_blank>http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es</A><BR><BR></BLOCKQUOTE></DIV>
<P>
<HR>
<P></P>_______________________________________________<BR>Lazarus-es mailing
list<BR>Lazarus-es@lists.lazarus.freepascal.org<BR>http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es<BR></BLOCKQUOTE></BODY></HTML>