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 08-02-2006
Avatar de Goyo
Goyo Goyo is offline
Miembro
 
Registrado: feb 2006
Posts: 89
Poder: 19
Goyo Va por buen camino
Smile DBLookupComboBox ayuda!!!

bueno apenas estoy iniciando en la programacion delphi, y tengo algunos problemas con el componente DBLookcupComboBox, estoy trabajando con 2 bases de datos de Paradox, una para guardar los datos y otra donde tomo solo algunos valores de ella... bueno al grano: tengo dos DBLookUpComboBox uno lo uso para mostrar el nombre del municipio y en el otro las localidades que pertenecen a ese municipio, como puedo hacer para que no me haga esto....

Municipios... Localidades...

DBLookUpComboBox1
DBLookupComboBox2
Acapulco Acapulco
Acapulco La Venta
Acapulco Puerto Marquez
Jose Azueta Zihuatanejo
Jose Azueta Ixtapa
Jose Azueta El Paso

.
.
.
y asi sucesivamente, como puedo evitar que se repitan los nombre en el primer componente (que no aparezcan varias veces repetido el municipio) y que solo se muestren las localidades de este municipio en el segundo, y que al seleccionar otro municipio, solo me muestre las localidades del mismo.
ya pude conectar los dos componentes, pero en el primero me muestra muchas veces repetidos los nombre de los municipios...
bueno creo que ya me alargue mucho....

espero que alguien me ayude a como solucionar esto.
Responder Con Cita
  #2  
Antiguo 09-02-2006
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Si entiendo bien, deberás tener dos tablas:

municipios = (id, municipio, ...)
localidades = (id, municipio_id, localidad, ... )

de manera que necesitas hacer una relación maestro-detalle entre ambas.

Para ello, a la propiedad MasterSource del Table asociado a localidades le asignas el datasource asociado a municipios y en la propiedad MasterFields (doble click sobre ella) asignas los campos de la relación:

municipios.id -> localidades.municipio_id

De esta forma, siempre que selecciones un municipio, el Table asociado a localidades mostrará únicamente las localidades de ese municipio.

Esto se reflejará en los DBLookupComboBox cuando los asocies, mediante sus propiedades ListSource, ListField y KeyField a los DataSource correspondientes.

Deberás tener un índice sobre el campo municipio_id en la tabla municipios (usa el Database Desktop para ello).

// Saludos
Responder Con Cita
  #3  
Antiguo 09-02-2006
Avatar de Goyo
Goyo Goyo is offline
Miembro
 
Registrado: feb 2006
Posts: 89
Poder: 19
Goyo Va por buen camino
Smile

creo que no me explique bien, bueno uso dos tablas porque en una grabo datos de actividades y la que contiene la informacion de municipios y localidades es una tabla muy aparte de la otra (la tabla se llama CENSO), esta contiene el Numero de Municipio, nombre del municipio, num. de localidad, nombre de localidad y el total de habitantes que contiene esa localidad, en los dos DBLookUpComboBox solo tomo datos de la tabla CENSO no de la otra, lo que quiero es que no repita datos en el nombre del municipio, solo que aparezca una vez y con sus respectivas localidades.

saludos..
Responder Con Cita
  #4  
Antiguo 09-02-2006
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por Goyo
la que contiene la informacion de municipios y localidades es una tabla
Pues aquí ya perdiste. Necesitas normalizar tus tablas, punto. La sóla descripción que diste originalmente, es claro que se deben tener dos tablas, no una, y de ahí que supusiera la estructura arriba mencionada.

EDITO:

No sé qué tanto sepas de normalización de tablas, pero el caso es que tal como lo tienes (y no cuento siquiera la tabla censos) tienes una redundancia de información y no resulta raro que se repitan los registros en tus consultas.

// Saludos

Última edición por roman fecha: 09-02-2006 a las 17:31:36.
Responder Con Cita
  #5  
Antiguo 10-02-2006
Avatar de Goyo
Goyo Goyo is offline
Miembro
 
Registrado: feb 2006
Posts: 89
Poder: 19
Goyo Va por buen camino
Smile

ya lo hice tal como me lo indicaste primeramente con dos tablas, de hecho ya funciona perfectamente, ahora como puedo hacer para que dentro de esos dblookupcombobox al pulsar una tecla, automaticamente me mande a la letra siguiente o anterior segun sea la primer letra con que inicie el nombre del municipio.

saludos...
Responder Con Cita
  #6  
Antiguo 10-02-2006
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
No entiendo bien. Si tienes los municipios ordenados por nombre, al pulsar la L, el combo se colocará en el primer muncipio con L. Es el comportamiento normal de un combo.

// Saludos
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
La increíble tecla F1 en Delphi dec Varios 1 31-08-2005 22:26:45
Ayuda En DbLookUpComboBox buscador Sql? Solojuegospc.tk Conexión con bases de datos 0 05-07-2005 21:11:09
Ayuda con DBlookupCombobox (VIH)Lestat Conexión con bases de datos 2 20-06-2005 01:20:31
DBLOOKUPCOMBOBOX ...Ayuda con el indice gerardo_cabero Conexión con bases de datos 1 22-05-2005 20:14:38
Ayuda con DBLookupComboBox MAGRANA Varios 1 05-05-2004 15:30:50


La franja horaria es GMT +2. Ahora son las 23:11:15.


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