Hola, recuerdan que habia posteado una ayuda con referencia a este evento, pues bien, lo pude solucionar y logre que se mostraran todas las respuestas de una pregunta en un panel al momento de hacer doble clic en la pregunta que se mostraba en el StringGrid. Pero ahora me cambiaron las estructuras de mis tablas y no puedo mostrar las respuestas.Asi quedo mi tabla, donde se almacena tanto las secciones,las preguntas y las opciones:
Código Delphi
[-]
Det_evaluacion
det_eval (la clave de la evaluacion)
det_version (la version de la evaluacion)
det_clave (la clave ya sea para seccion(1...y asi sucesivamente),pregunta(1.1..1.2..1.3) y opciones(1.1.1...1.1.2)
det_pregunta (descripcion de la seccion,pregunta u opcion)
det_tipo (aqui se diferencia si es seccion(el valor es 0),pregunta(el valor es 1) u opcion(el valor es 2)
det_valor (valor que tendran, si es seccion(0),si es pregunta(0), si es opcion(los valores seran de 1 a 5)
Este es el codigo que tengo ahora en el evento y nose muestran las respuestas en el panel:
Código Delphi
[-]
procedure TForm1.sgEvaluacionDblClick(Sender: TObject);
var
evalua,saca:string;
i:integer;
begin
if sgEvaluacion.col=1 then
begin
evalua:=copy(cmbEvaluacion.text,0,pos('-',cmbEvaluacion.text)-1);
saca:=sgEvaluacion.cells[sgEvaluacion.col-1,sgEvaluacion.row];
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_tipo= 2');
query3.sql.add('and det_clave = '''+saca+'''');
abre(query3);
rgRespuestas.items.clear;
while not query3.Eof do
Begin
rgRespuestas.Items.Add(query3.FieldByName('det_valor').asstring+'-'+query3.FieldByName('det_pregunta').asstring);
query3.Next;
End;
panel1.visible:=true;
rgRespuestas.ItemIndex:=0;
End
else
showmessage('No hay opciones para esta pregunta!');
end;
Gracias por su ayuda