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 [-]
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.