Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 28-03-2017
yuyidt yuyidt is offline
Miembro
NULL
 
Registrado: oct 2016
Posts: 40
Poder: 0
yuyidt Va por buen camino
Sumar campo de tabla y mostrar en edit

Hola buenas tardes, necesito ayuda urgente:
Estoy trabajando con un proyecto similar a moodle pero tengo un problema respecto agregar ponderación
a dicho examen,
En el form tengo los edit para crear el id y nombre del examen, de igual manera 2 datetime para
colocarle fecha de inicio y fin y otro edit para agregarle la nota del examen, pero antes de guardar
el examen voy creando las preguntas en el mismo form y debo agregarle también la ponderación a cada
pregunta del examen. estas preguntas las añado de la siguiente manera a través de un botón a una tabla temporal:
Cita:
Código SQL [-]
procedure TForm5.BitBtn2Click(Sender: TObject);
begin
with datamodule2.FDQuery6 do
 begin
    sql.Text:='INSERT INTO eva_estudiantes (ced_est,tipo_pregunta,pregunta,opcion1,opcion2,respuesta,puntos) VALUES (:cedes,:tipreg,: preg,: opc1,: opc2,:resp,: pun)';
    ParamByName('cedes').value:='i';
    parambyname('tipreg').Value:='0';
    ParamByName('preg').Value:=edit2.Text;
    parambyname('pun').Value:=edit9.Text;
    ParamByName('opc1').Value:='Verdadero';
    ParamByName('opc2').Value:='Falso';
       if radiogroup1.ItemIndex=0 then ParamByName('resp').Value:='Verdadero'
      else ParamByName('resp').Value:='Falso';
    ExecSQL;
      edit2.Clear;
  end;
  ShowMessage ('Su pregunta ha sido guardada');
end;
Lo que yo quiero es que se me vayan sumando todos los puntos de las preguntas que se van insertando en esta tabla temporal
y que me vaya mostrando esa suma en el editx de la nota del examen y luego de creadas todas las preguntas,
entonces ahora si voy a guardar el examen con otro botón:
Cita:
Código SQL [-]
procedure TForm5.BitBtn1Click(Sender: TObject);
var
  a:integer;
  begin
    with datamodule2.FDQuery6 do
    begin
      close;
      sql.Text:='SELECT ced_est FROM eva_estudiantes WHERE ced_est=:cedes';
      ParamByName('cedes').Value:='i';
      open;
      begin
        close;
        sql.Text:='INSERT INTO eva_maestro (nombre_examen,fecha_ini,fecha_fin,nota) VALUES (:nomex,:feini,:fefin,:not)';
        ParamByName('nomex').Value:=edit1.Text;
        ParamByName('feini').value:=formatdatetime('YYYY-MM-DD',DateTimePicker1.Date);
        ParamByName('fefin').value:=formatdatetime('YYYY-MM-DD',DateTimePicker2.Date);
        Parambyname('not').Value:=combobox2.Text;
        ExecSQL;
        close;
        sql.Text:='SELECT max(id_exa) as ultimo FROM eva_maestro';
        open;
        a:=FieldByName('ultimo').AsInteger;
        close;
        sql.Text:='INSERT INTO eva_detalle (id_exama,pregunta,tipo_pregunta,Opcion1,Opcion2,Opcion3,Opcion4,respuesta,puntos) SELECT '+inttostr(a)+',pregunta,tipo_pregunta,Opcion1,Opcion2,Opcion3,Opcion4,respuesta,puntos FROM eva_estudiantes WHERE ced_est=:cedes';
        ParamByName('cedes').Value:='i';
        ExecSQL;
        close;
        sql.Text:='TRUNCATE eva_estudiantes';
        execsql;
        datamodule2.FDQuery5.close;
        datamodule2.FDQuery5.close;
        limpiar;
      end;
    end;
end;
-eva_estudiantes es la tabla temporal
-eva_detalle me guarda id de la pregunta, id del examen, tipo de pregunta, texto de la pregunta, opciones, respuesta y puntaje de la pregunta
-eva_maestro me guarda el id del examen, nombre, fecha de inicio y fin y nota

en nota de eva_maestro quiero que se me guarde el total de lo que quedo de la suma de todas las preguntas en el editx o que me guarde el total de puntos de la tabla eva_detalle donde las preguntas tengan el mismo id del examen.
por ejemplo, la tabla eva_detalle se verá así:

Id - Id_examen - Tipo_pregun - pregunta - Opcion1 -Opcion2 - respuesta - puntos
1 - 19 - 0 - aaa - Verd - Falso - Falso - 5
2 - 19 - 0 - bbb - Verd - Falso - Verd - 5
3 - 19 - 1 - ccc - Verd - Falso - Falso - 5
4 - 19 - 2 - rtt - Verd - Falso - Verd - 5
5 - 20 - 0 - hut - Verd - Falso - Verd - 4
6 - 20 - 1 - jkf - Verd - Falso - Falso - 3
7 - 20 - 2 - ewr - Verd - Falso - Verd - 3

y la tabla eva_maestro entonces sera así:

Id_examen - nombre_examen - nota - fecha_ini - fecha_fin
19 - moléculas - 20 - 03/02/17 - 13/02/17
20 - matemáticas - 10 - 15/02/17 - 25/02/17

la nota de eva maestro muestra la suma de todas los puntos de las preguntas con el mismo id

como puedo hacer esto?
o si me ayudan para hacerlo de otra manera please, no tengo ni la menor idea de como podría hacerlo.
Responder Con Cita
Respuesta



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
Sumar campo de una tabla daragor MySQL 2 14-09-2012 00:50:59
sumar campo y guardar en un edit gonza_619 Varios 12 16-09-2010 16:29:41
sumar campo tipo money y guardar en un edit o variable gonza_619 Varios 1 14-09-2010 19:26:18
mostrar un campo de un DbGrid en un Edit jjchus Varios 3 24-03-2009 06:04:59
sumar el valor de un edit a un campo de tabla josi Varios 4 12-01-2009 20:36:45


La franja horaria es GMT +2. Ahora son las 14:04:21.


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