Hola...
Ya veo como quieres tus datos... ahora, veo que haces cuatro consultas diferentes a la misma tabla
det_evaluacion, ¿por qué eso?
La primera vez veo que obtienes un valor para poner en un componente
TLabel pero luego veo que usas diferentes condiciones en las cláusulas
where para las otras 3 consultas.
Un pseudocódigo de lo que quieres lograr sería algo como (esto tratando de deducir los campos de la tabla
det_evaluacion):
Código:
X := 1;
Query1.Open;
while not Query1.Eof do
begin
StringGrid.Cells[0, X] := Query1.FieldByName('numero_pregunta').AsString; // 1.1
StringGrid.Cells[1, X] := Query1.FieldByName('pregunta').AsString; // ¿Que es...'
StringGrid.Cells[7, X] := 'Resultado';
Query2.Open; // Obtenemos las respuestas
while not Query.Eof do
begin
Valor := Query2.FieldByName('valor_respuesta').AsInteger;
// 1 en columna 2, 2 en columna 3, etc...
StringGrid.Cells[Valor + 1, X] := IntToStr(Valor);
Query2.Next
end;
Inc(X);
StringGrid.RolCount := X + 1; // Agregamos una línea nueva
Query1.Next;
end;
Saludos...