<!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>