Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Tablas planas
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 25-02-2010
agustibaldo agustibaldo is offline
Miembro
 
Registrado: nov 2006
Posts: 105
Poder: 18
agustibaldo Va por buen camino
Borrar detalle en relación Master/Detail con Paradox

Gente de ClubDelphi, les consulto porque tengo una duda.

Necesito eliminar el detalle cuando hago una eliminación en la cabecera de mi TTable. Tengo las dos tablas enganchas a través de un MasterSource, etc
Hasta hace unos instantes, creía que esto era posible pero descubrí que cuando elimino la cabecera, no me elimina los registros asociados a esta en el detail.

Espero que me puedan dar una mano.

Muchas gracias.
Responder Con Cita
  #2  
Antiguo 26-02-2010
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Hola agustibaldo, para borrar el detalle de tu TTable, debes recorrer y hacer el delete de cada registro.

Como es maestro detalle, al recorrer tu Table solo va a tomar los registros actuales de tu detalle y no toda tu tabla, pero primero has el delete del detalle y luego del maestro.

Código Delphi [-]
 TableDetalle.First;
 While not TableDetalle.Eof do
  begin
   TableDetalle.Delete;
   TableDetalle.Next;
  end;
 TableMaestro.Delete;

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #3  
Antiguo 26-02-2010
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
También puedes utilizar Sql.

Código Delphi [-]
Delete From MiTabla Where Clave = xxxxx


Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #4  
Antiguo 26-02-2010
agustibaldo agustibaldo is offline
Miembro
 
Registrado: nov 2006
Posts: 105
Poder: 18
agustibaldo Va por buen camino
muchisimas gracias a los dos!!! terminé por resolverlo de esa manera pero como les decía antes, estaba convencido que cuando se eliminaba un ítem del maestro automáticamente se eliminaban los ítems del detalle asociado. Creo que voy a tener que repasar nuevamente la Biblia de Delphi 5.

Como siempre, gracias por sus respuestas.

Abrazo.
Responder Con Cita
  #5  
Antiguo 26-02-2010
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Lo que comentas es para los motores que tienen eliminación en cascada y Paradox no lo tiene, por ejemplo Access si lo tiene, pero en este último caso que cito tienes que establecer relaciones entre las tablas, marcar integridad referencia y luego eliminación en cascada....

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #6  
Antiguo 17-08-2010
gonza_619 gonza_619 is offline
Miembro
 
Registrado: feb 2010
Posts: 157
Poder: 15
gonza_619 Va por buen camino
guardar en variable registro seleccionado del dbgrid

hola a ud, bueno mi intencion es tambien eliminar un registro seleccionado del dbgrid de un table y guardarlo en variable para luego compararlo con otros table en los cuales se relaciona y tambien aparece, es decir si existe ese registro seleccionado e otras tablas eliminarlo primero para luego poder eliminarlo de la tabla donde lo seleccione.
probe con esto
Código Delphi [-]
procedure TForm1.Button5Click(Sender: TObject);
var x:integer;
begin
if Dbgrid1.columns.count >0 then
 x := DBGrid1.SelectedField.Asinteger;
while not Table3.EoF do
  begin
  if Table3.FieldByName('curso').AsInteger=x
   then  application.Terminate;
   end;
lo hice como prueba pero no se cierra la aplicacion
ademas el problema es cuando quiero verificar sobre tablas que estan en otros forms podria ser:
WHILE NOT FORMX.TABLE3.EOF DO
nose si estaria bien tambien lo probe y no cierra entonces puede ser que no se este guardando en la variable el registro q selecciono o no esta recorriendo la tabla .
probe tambien
Código Delphi [-]
if Dbgrid1.columns.count >0 then
 x := DBGrid1.SelectedField.Asinteger;
pero nose si esta bien escrito o si falta algo pero tampoco al parecer lo guarda. bueno espero puedan darme una mano gracias desde ya
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
Disablecontrols en una relación master detail pabloparra Conexión con bases de datos 4 21-02-2008 15:52:47
Ayuda con relacion master detail key violation en el grid hawerd gutierre Tablas planas 3 25-07-2007 16:43:44
Relacion Master/Detail usando TIBDataSets Caco Mana Varios 0 15-05-2006 03:11:23
Relacion Master Detail simon Conexión con bases de datos 0 24-06-2004 17:32:09
Relacion Master Detail simon OOP 9 21-06-2004 16:03:37


La franja horaria es GMT +2. Ahora son las 13:22:07.


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