Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 07-10-2004
IVAND IVAND is offline
Miembro
 
Registrado: may 2003
Ubicación: ECUADOR
Posts: 523
Poder: 21
IVAND Va por buen camino
Crear tablas gerarquicas :-)

Hola a todos

Mi gran inquietud pasa desde la estructura hasta la forma del query , pues bien , veran tengo un pais , el pais tiene ciudades, las ciudades provincias las provincias cantones los cantones recintos y asi pueden ser sucesivamente

Como puedo hacer para que cuando se me seleccione el pais automaticamente se filtre solo las ciudades, pueblos etc que pertenescan a ese pais (si selecciono la ciudad se filtre los cantones,recintos ect que pertenescan a esa ciudad :-))

Por su gran ayuda quedo muy agradecido


Nota : me parece que el titulo esta bien y si no es asi por favor me corrigen

__________________
IVAND
Responder Con Cita
  #2  
Antiguo 07-10-2004
Avatar de tcp_ip_es
tcp_ip_es tcp_ip_es is offline
No confirmado
 
Registrado: ago 2003
Ubicación: Madrid
Posts: 635
Poder: 0
tcp_ip_es Va por buen camino
el título sería: Crear tablas jerárquicas pero se entiende

En cuanto a lo que planteas es un claro maestro detalle. Tienes que montarte las tablas con una relación maestro detalle.....

en las carpetas de las demos de tu delphi encontrarás algún ejemplo de como montarte un maestro-detalle entre dos tablas....

Saludos, Tony
Responder Con Cita
  #3  
Antiguo 07-10-2004
IVAND IVAND is offline
Miembro
 
Registrado: may 2003
Ubicación: ECUADOR
Posts: 523
Poder: 21
IVAND Va por buen camino
Gracias Tony por tu respuesta, pero creo que por ahi no va la cosa, pues esto es como un arbol (creo que es exactamente asi pues tiene un nodo padre y hijos y hijos de hijos etc )

Ejemplo

Ecuador -- Nodo padre
- Manabi
- Portoviejo
- Manta


Etc.


Alguien mas que me de una luz
__________________
IVAND
Responder Con Cita
  #4  
Antiguo 08-10-2004
Avatar de tcp_ip_es
tcp_ip_es tcp_ip_es is offline
No confirmado
 
Registrado: ago 2003
Ubicación: Madrid
Posts: 635
Poder: 0
tcp_ip_es Va por buen camino
Yo sigo creyendo que es asi me explico:

Ejemplo, tienes tres tablas: País, ciudad, provincia

Tabla Pais:
Id_Pais
Nombre_Pais

Tabla Ciudad:
Id_Ciudad
Id_Pais
Nombre_Ciudad

Tabla Provincia
Id_Provincia
Id_Ciudad
Nombre_Provincia

Relaciones:
Tabla Pais (1 a muchos) con tabla Ciudad mediante index Id_Pais
Tabla Ciudad (1 a muchos) con tabla Provincia mediante index Id_Ciudad



Asi es como lo veo yo, pero vamos si tu ves otra forma

Saludos, Tony
Responder Con Cita
  #5  
Antiguo 17-10-2004
lunatiko lunatiko is offline
Miembro
 
Registrado: oct 2004
Posts: 17
Poder: 0
lunatiko Va por buen camino
Yo lo haría así

En la tabla: un campo id (clave primaria) y otro idpadre (clave ajena que apunte al id. Se supone que en los nodos superiores de la jeraquia el idpadre es null)

Con una select puedes sacar los campos hijo del padre actual:
SELECT *
FROM TABLA
WHERE IDPADRE = padre_actual;

Esta select la tendrias que iejecutar en una función recursiva e ir guardandote los datos en una estructura tipo arbol.
Responder Con Cita
  #6  
Antiguo 17-10-2004
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
Si las tablas tienen relación maestro detalle, al seleccionar un pais, sin hacer nada solamente estarán disponibles sus Provincias, al seleccionar una Provincia aparecerán sus ciudades....

Hasta se podrían colocar 3 ó 4 rejillas y automáticamente mostrarían lo que corresponda según lo elegido, por defecto aparecería la primera provincia y la primera ciudad, hasta que el usuario seleccione otra.

Lo mismo puede hacerse con consultas como te han indicado, e incluso con filtros, el problema final será la cantidad de datos que van a tener las tablas y si estos van a viajar por la red.

Si quieres lograr el efecto arbol por ejemplo cargándolos en un Treeview, también te han dado la respuesta.

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
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


La franja horaria es GMT +2. Ahora son las 08:23:52.


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