Ver Mensaje Individual
  #4  
Antiguo 05-11-2008
Elite237 Elite237 is offline
Miembro
 
Registrado: jul 2007
Posts: 162
Reputación: 17
Elite237 Va por buen camino
Aqui dejo el codigo antes que lo modificara y funcionaba bien.Con este codigo me muestra las secciones y las preguntas que tiene cada seccion.Lo que quiero hacer es agregar los valores de las respuestas, en las columnas que siguen
Código Delphi [-]
procedure TForm1.BitBtnGenerarClick(Sender: TObject);
var
x:integer;
evalua:string;
begin
   //Obtiene la clave del combo evaluacion
  evalua:=copy(cmbEvaluacion.text,0,pos('-',cmbEvaluacion.text)-1);
  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);
      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;
Responder Con Cita