Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 14-12-2005
[Nbull] Nbull is offline
Miembro Premium
 
Registrado: nov 2004
Ubicación: Valencia-España
Posts: 168
Poder: 22
Nbull Va por buen camino
He probado lo que me dices de la coma y llevas razón, pero no me deja unir las dos tablas me dice que falta operador en la consulta:

Código SQL [-]
Archivo.REGISTRO2 = Tema.REGISTRO2 INNER JOIN FORMATO 
 
ON Archivo.Id = Formato.Id;
No se que operador me puede faltar, a ver si alguien sabe lo que me puede estar pasando y me hecha una mano.

He probado hacer la unión por separado y si que me deja, osea que descarto que sea fallo de los campos.

Un Saludo Neftalí y gracias por todo.Eres una maquina.

Última edición por Nbull fecha: 14-12-2005 a las 16:55:01.
Responder Con Cita
  #2  
Antiguo 20-12-2005
[Nbull] Nbull is offline
Miembro Premium
 
Registrado: nov 2004
Ubicación: Valencia-España
Posts: 168
Poder: 22
Nbull Va por buen camino
Perdonar que reabra el hilo, pero es que me ha surgido un problema. Tenia un boton que me borraba el registro seleccionado en mi dbgrid con el siguiente codigo:


Código Delphi [-]
procedure TFGestion.BborrarClick(Sender: TObject);
var
button : integer;
begin
button := application.messagebox ('¿Realmente desea borrar la cinta seleccionada?', 
'¿Seguro?', MB_yesno + mb_iconwarning); // Mostramos un mensaje de advertencia
if button = IDYes then begin // Si ha pulsado si...
//Borramos el registro seleccionado solamente de la tabla archivo
DBGrid2.DataSource.DataSet.Delete;
Showmessage('La cinta Nº '+DbNumCinta.Field.Text+' ha sido borrada con éxito');
//Refresco la tabla
AdoQuery2.Active:=false;
AdoQuery2.SQL.Text := 'SELECT Archivo.* , Tema.*,Formato.* FROM (Archivo '+
' LEFT OUTER JOIN Tema ON Archivo.Registro2=tema.Registro2) '+
' LEFT OUTER JOIN Formato ON Archivo.Id=Formato.Id';
AdoQuery2.Active:=True;
end;//sino no hacemos nada

Mi problema es que antes solo me borraba el registro seleccionado en la tabla archivo,pero, ahora me borra un registro en las tres tablas y solo quiero que me lo borre en la tabla archivo.

Como lo puedo solucionar.

Gracias Un saludo.
Responder Con Cita
  #3  
Antiguo 20-12-2005
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 19.439
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
¿Has añadido restricciones de borrados en cascada a tu Base de Datos?
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #4  
Antiguo 20-12-2005
[Nbull] Nbull is offline
Miembro Premium
 
Registrado: nov 2004
Ubicación: Valencia-España
Posts: 168
Poder: 22
Nbull Va por buen camino
Neftalí, perdona mi ignorancia, pero, es que no tengo ni idea de como se hace eso en Access.

Si me puedes hechar un cable te estaria muy agradecido.
Responder Con Cita
  #5  
Antiguo 21-12-2005
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 19.439
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Si no las has uesto nada; Los borrados en cascada permiten borrar en cascada (como su nombre dice) registros de una tabla en el momento en que se borran los de otra; Por ejemplo, si tienes la tabla "Clientes" y relacionada con clientes la tabla "Personas de contacto"; Si al borrar un cliente te interesa borrar todas sus personas de contacto, se puede hacer directamente usando borrados en cascada.

Es la única forma que se me ocurre de borrar registros de varias tablas de una sóla vez.

Pero si no las has puesto, no te preocupes, entonces tu problema va por otro lado.

En access creo recordar que los borrados en cascada se definen cuando añades relaciones entre tablas.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #6  
Antiguo 21-12-2005
[Nbull] Nbull is offline
Miembro Premium
 
Registrado: nov 2004
Ubicación: Valencia-España
Posts: 168
Poder: 22
Nbull Va por buen camino
Gracias Neftalí por responderme de nuevo, he mirado en access las relacciones de mis tablas y no tengo seleccionadas los borrados en cascada.
¿Cual puede ser el problema?
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


La franja horaria es GMT +2. Ahora son las 06:32:28.


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