Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 17-11-2013
NISOTO NISOTO is offline
Miembro
NULL
 
Registrado: abr 2012
Ubicación: RIOHACHA - LA GUAJIRA
Posts: 27
Poder: 0
NISOTO Va por buen camino
Update con dos tablas

Hola a todos,

Tengo en un DbGrid con la tabla “Salones” y necesito actualizar la tabla “Calificaciones” con los campos de la tabla “salones” con la condición de que el Id_salón = Id_salón_cal.
Esto lo hago seleccionando un salón del DbGrid y pulsando un Botón que se llama cargar.
Estoy trabajado en Delphi 2007 y Firebird 2.5

Salones

Id_salon (*)
Materia
Area
Docente
IHS

Calificaciones

Id_Salón_cal (*)
Materia_cal
Area_cal
Docente_cal
IHS_cal

El problema es que tengo por el momento un código pero no me está funcionando, por favor si no es mucha molestia y me dan un poco la mano, yo sé un poco de tablas planas pero estoy empezando en SQL.

Código Delphi [-]
procedure TFormCarga.btn1Click(Sender: TObject);
  begin
    DMCarga.ibqry_Calificacion.Close;
    DMCarga.ibqry_Calificacion.Sql.Clear;
    DMCarga.ibqry_Calificacion.Sql.Add('UPDATE calificacion');
    DMCarga.ibqry_Calificacion.Sql.Add('SET = (SELECT materia FROM salones WHERE    
     materia = materia_cal)');
    DMCarga.ibqry_Calificacion.Sql.Add('WHERE id_salon = id_salon_cal');
    DMCarga.ibqry_Calificacion.Open;
  end;

Y por favor me pueden responder si es mejor trabajar con TIBDataSet o TIBQuery.

Última edición por NISOTO fecha: 17-11-2013 a las 19:50:53.
Responder Con Cita
  #2  
Antiguo 18-11-2013
Avatar de jafera
jafera jafera is offline
Miembro
 
Registrado: may 2007
Ubicación: Llagostera (Girona)
Posts: 582
Poder: 17
jafera Va por buen camino
Hola.

Has puesto UPDATE CALIFICACION SET = (SELECT...)

Despues del SET debes poner el campo a actualizar.

Por ejemplo UPDATE CALIFICACION SET NOTA =(SELECT..... WHERE.....)

Código Delphi [-]
procedure TFormCarga.btn1Click(Sender: TObject);
  begin
    DMCarga.ibqry_Calificacion.Close;
    DMCarga.ibqry_Calificacion.Sql.Clear;
    DMCarga.ibqry_Calificacion.Sql.Add('UPDATE calificacion');
    DMCarga.ibqry_Calificacion.Sql.Add('SET MATERIA_CAL=(SELECT materia FROM salones WHERE materia = materia_cal)');
    DMCarga.ibqry_Calificacion.Sql.Add('WHERE (NO puede haber dos where, tienes que poner AND) AND id_salon = id_salon_cal');
    DMCarga.ibqry_Calificacion.Open;
  end;

Saludos

Josep

Última edición por jafera fecha: 18-11-2013 a las 17:58:00.
Responder Con Cita
  #3  
Antiguo 18-11-2013
NISOTO NISOTO is offline
Miembro
NULL
 
Registrado: abr 2012
Ubicación: RIOHACHA - LA GUAJIRA
Posts: 27
Poder: 0
NISOTO Va por buen camino
Ok gracias

funciono de maravillas.
Responder Con Cita
  #4  
Antiguo 18-11-2013
Avatar de jafera
jafera jafera is offline
Miembro
 
Registrado: may 2007
Ubicación: Llagostera (Girona)
Posts: 582
Poder: 17
jafera Va por buen camino
De nada, para esto estamos

Hoy respondo (si lo se), mañana pregunto (si no lo se)

Saludos

Josep
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
Update con tres tablas elarys Firebird e Interbase 8 19-04-2013 17:38:36
update con tablas relacionadas rg5820 Firebird e Interbase 24 31-10-2012 22:44:30
Update en Tablas Relacionadas gluglu Conexión con bases de datos 0 01-10-2004 19:42:50
Update entre tablas rafadrover SQL 4 20-08-2003 20:42:49
tablas relacionadas y update sql joanajj Conexión con bases de datos 4 05-08-2003 13:17:23


La franja horaria es GMT +2. Ahora son las 17:26:01.


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