Ver Mensaje Individual
  #31  
Antiguo 11-10-2008
Elite237 Elite237 is offline
Miembro
 
Registrado: jul 2007
Posts: 162
Reputación: 17
Elite237 Va por buen camino
Mira he estado intentando hacerlo asi, ya que lo hacia de otra manera, y me arrojaba todos los campos, y eso era por que no estaba tomando alguna clave para comparar, y como los campos que queria condicionar tienen los mismos valores, es por eso que me daba ese resultado. Lo que hize fue que en un combobox cargue la clave y el nombre de la evaluacion, despues sacaba solo la clave de la evaluacion y apartir de ella evaluaba que si era igual a la cave pues me hiciera la consulta. El problema de ahora es que al momento de ejecutarlo no muestra nada, ni el formulario, como que se queda en el viaje, por que sera?alguien sabe?de todas maneras les dejo el codigo que utilizo(gracias a neftali, claro!!)

Código Delphi [-]
procedure TFormMain.btnCrearClick(Sender: TObject);
var
  i:Integer;
  fr:TFramePreg;
  Str:String;
  Evalua:string;
begin
  for i := 0 to (seNumPreguntas.Value - 1) do begin
    // Crear el Frame
    fr := TFramePreg.Create(nil);
    fr.Parent := self.ScrollBox1;
    fr.Top := (i * fr.Height) + 10;
    fr.Align := alTop;
    fr.Name := 'FramePregunta' + IntToStr(i + 1);
    Fr.lblNumPregunta.Caption := IntToStr(i + 1);
    Self.FRespuestas.AddObject(IntToStr(i + 1), fr);
    if odd(i) then begin
      fr.Panel1.Color := clBtnFace;
      Fr.rgRespuestas.Color := clBtnFace;
    end
    else begin
      fr.Panel1.Color := $00E3E8EA;
      Fr.rgRespuestas.Color := $00E3E8EA;
    end;
    // Asignamos textos
    //Obtiene la clave del combo evaluacion
     evalua:=copy(cmbEvaluacion.text,0,pos('-',cmbEvaluacion.text)-1);
    //Obtiene la seccion
    query2.close;
    query2.SQL.clear;
    query2.sql.add('select secc_eval,secc_clave,secc_nombre from tsecciones');
    query2.sql.add('where secc_eval = '''+evalua+'''');
    query2.sql.add('order by secc_nombre asc');
    TRY
           Query2.open;
        EXCEPT
              messagedlg('Error en consulta:'+#13+QUERY2.SQL.TEXT,mterror,[mbok],0)
        END;
    while not query2.eof do begin
      Str:=query2.fieldbyname('secc_nombre').asstring;
      fr.lblSeccion.Caption:=Str;
      query2.next;
    end;
    //Obtiene la clave del combo evaluacion
    evalua:=copy(cmbEvaluacion.text,0,pos('-',cmbEvaluacion.text)-1);
    //Obtiene la pregunta
    query3.Close;
    query3.sql.clear;
    query3.sql.add('select preg_evaluacion,preg_secc,preg_clave,preg_descripcion from tpreguntas');
    query3.sql.add('where preg_evaluacion = '''+evalua+'''');
    query3.sql.add('order by preg_descripcion asc');
    TRY
           Query3.open;
        EXCEPT
              messagedlg('Error en consulta:'+#13+QUERY3.SQL.TEXT,mterror,[mbok],0)
        END;
    While not query3.eof do begin
      Str:=query3.fieldbyname('preg_descripcion').asstring;
      Fr.lblPregunta.Caption := Str;
      query3.next;
    end;
    //Obtiene la clave del combo evaluacion
    evalua:=copy(cmbEvaluacion.text,0,pos('-',cmbEvaluacion.text)-1);
    //Obtiene la opcion
    query4.close;
    query4.sql.clear;
    query4.sql.Add('select opci_evaluacion,opci_secc,opci_pregunta,opci_clave,opci_descripcion from topciones');
    query4.sql.add('where opci_evaluacion = '''+evalua+'''');
    query4.sql.add('order by opci_descripcion desc');
    TRY
           Query4.open;
        EXCEPT
              messagedlg('Error en consulta:'+#13+QUERY4.SQL.TEXT,mterror,[mbok],0)
        END;
    While not query4.eof do begin
      Fr.rgRespuestas.Items.add(query4.fieldbyname('opci_descripcion').asstring);
      query4.next;
    end;

end;
 
end;
Responder Con Cita