Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

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


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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 01:00:06.


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