Ver Mensaje Individual
  #6  
Antiguo 05-11-2008
Elite237 Elite237 is offline
Miembro
 
Registrado: jul 2007
Posts: 162
Reputación: 17
Elite237 Va por buen camino
Cita:
Empezado por maeyanes Ver Mensaje
Aquí como todavía no has hecho Query1.Next, bien puedes volver a usar el valor del campo: Query1.FieldByName('det_clave').AsString


Código Delphi [-]
Query3.SQL.Add('and det_clave like ''' + Query1.FieldByName('det_clave').AsString + '.%''');







Así es...



Saludos...
Ok Maeyanes, ya no me arrojo el error, solo que no me muestra los valores de las respuestas en las columnas.El codigo lo deje asi :
Código Delphi [-]
procedure TForm1.BitBtnGenerarClick(Sender: TObject);
var
x,valor:integer;
evalua:string;
begin
   //Obtiene la clave del combo evaluacion
  evalua:=copy(cmbEvaluacion.text,0,pos('-',cmbEvaluacion.text)-1);
  //OBTIENE LA VERSION
  query1.close;
  query1.sql.clear;
  query1.sql.add('select det_version from det_evaluacion');
  query1.sql.add('where det_eval='''+evalua+'''');
  abre(query1);
  lblVersion.Caption:=query1.fieldbyname('det_version').asstring;
  //OBTIENE LA SECCION
  query1.close;
  query1.sql.clear;
  query1.sql.add('select * from det_evaluacion');
  query1.sql.add('where det_eval = '''+evalua+'''');
  query1.sql.add('and det_tipo=0');
  query1.sql.add('and det_valor=0');
  query1.sql.add('order by det_clave');
  abre(query1);
  x:=1;
   While not query1.eof do
   begin
      sgEvaluacion.cells[1,x]:=query1.fieldbyname('det_pregunta').asString;{insertamos todas las secciones}
      sgEvaluacion.rowCount:=sgEvaluacion.rowCount+1; {Para ir aumentando renglones}
      inc (x);
      query2.close;
      query2.sql.clear;
      query2.sql.add('Select * from det_evaluacion');
      query2.sql.add('where det_eval='''+evalua+'''');
      query2.sql.add('and det_tipo =1');
      query2.sql.add('and det_clave like '''+query1.fieldbyname('det_clave').asstring+'.%''');
      query2.sql.add('and det_valor=0');
      query2.sql.add('order by det_clave');
      abre(query2);
      query3.close;
      query3.sql.clear;
      query3.sql.Add('select det_eval,det_clave,det_pregunta,det_valor,det_tipo from det_evaluacion');
      query3.sql.add('where det_eval = '''+evalua+'''');
      query3.sql.add('and det_clave like ''' + Query1.FieldByName('det_clave').AsString + '.%''');
      query3.sql.add('and    det_tipo= 2');
      query3.sql.add('order by det_valor asc');
      abre(query3);
      while not query3.eof do
      begin
      valor:=query3.fieldbyname('det_valor').AsInteger;
      sgEvaluacion.cells[valor + 1,x]:=IntToStr(valor);
      query3.next;
      end;
      while not query2.eof do
      Begin
       sgEvaluacion.cells[0,x]:=query2.fieldbyname('det_clave').asstring;
       sgEvaluacion.Cells[1,x]:=query2.fieldbyname('det_pregunta').AsString;
       sgEvaluacion.Cells[2,x]:='1';
       sgEvaluacion.Cells[3,x]:='2';
       sgEvaluacion.Cells[4,x]:='3';
       sgEvaluacion.Cells[5,x]:='4';
       sgEvaluacion.Cells[6,x]:='5';
       sgEvaluacion.Cells[7,x]:='Resultado';
       inc(x);
       query2.next;
        if x=1 then
          sgEvaluacion.RowCount:=2
        else
          sgEvaluacion.RowCount:=x
      End;
   query1.next;
   end;
end;

Saludos.Gracias por el tiempo que me estas dedicando.En serio muchas gracias
Responder Con Cita