Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #23  
Antiguo 11-10-2008
Elite237 Elite237 is offline
Miembro
 
Registrado: jul 2007
Posts: 162
Poder: 19
Elite237 Va por buen camino
Pasar la consulta al crear el frame

Fijense que logre que me de la seccion, las preguntas de esa seccion, pero el problema que me da es que me vuelve a generar las mismas opciones para todas las preguntas, este es mi codigo que utilizo, le agregre un while, para que me diera las secciones acorde a las preguntas:

Código Delphi [-]
procedure TFormMain.btnCrearClick(Sender: TObject);
var
  i:Integer;
  fr:TFramePreg;
  Str:String;
  StrSecc:string;
  Evalua:string;
begin
//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_nombre,secc_clave 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;
        if not query2.IsEmpty then
           begin
            while not query2.eof do
              begin
                StrSecc:=query2.fieldbyname('secc_nombre').asstring;
//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('and preg_secc = '+query2.fieldbyname('secc_clave').asstring);
                query3.sql.add('order by preg_descripcion asc');
                    TRY
                       Query3.open;
                    EXCEPT
                          messagedlg('Error en consulta:'+#13+QUERY3.SQL.TEXT,mterror,[mbok],0)
                    END;
                      if not query3.IsEmpty then
                        begin
                          While not query3.eof do
                            begin
                              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);
                              fr.lblSeccion.Caption:=StrSecc;
                              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;
                                      Str:=query3.fieldbyname('preg_descripcion').asstring;
                                      Fr.lblPregunta.Caption := Str;
                                      query3.next;
//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,opci_valor 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;
                                     if not query4.IsEmpty then
                                        begin
                                          While not query4.eof do
                                            begin
                                             Fr.rgRespuestas.Items.add(query4.fieldbyname('opci_descripcion').asstring);
                                             query4.next;
                                            end;
                                        end;
                            end;
                        end;
                  query2.next;      
              end;
           end;
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Sistema de Evaluacion Psicometrica Elite237 OOP 4 24-09-2008 18:31:58
Intraweb de D2007 es evaluación?? xander Varios 5 24-10-2007 20:04:40
Variante comparado con evaluación completa Al González Providers 2 18-08-2005 04:19:32
Migracion BDE a SQLDIRECT evaluacion ASAPLTDA Conexión con bases de datos 0 27-11-2004 22:08:12


La franja horaria es GMT +2. Ahora son las 14:43:25.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi