Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 01-01-2015
giulichajari giulichajari is offline
Miembro
 
Registrado: nov 2012
Posts: 306
Poder: 12
giulichajari Va por buen camino
Conectar 2 DBLookupcomboboxs a un solo datasource

Hola amigos: tengo un form con el domicilio personal del cliente y el domicilio de despacho, en 2 groupboxs, el caso es que los 2 tienen un dblookup de ciudades porque puede ser distinta obviamente, probe crear 2 datasource con la misma tabla y no se puede, lei en internet que hay que usar livebindings pero no se como.

Me pueden ayudar?
Responder Con Cita
  #2  
Antiguo 01-01-2015
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.039
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
No se entiende, ¿cual es el problema?
Responder Con Cita
  #3  
Antiguo 01-01-2015
giulichajari giulichajari is offline
Miembro
 
Registrado: nov 2012
Posts: 306
Poder: 12
giulichajari Va por buen camino
Me explico mejor, al dar de alta un cliente se puede asignar su domicilio personal y su domicilio de despacho, donde quiere recibir su producto. Cada domicilio tiene la calle y numero, y la localidad, porque puede ser distinta. Para la localidad uso un dblookupcomobobox con la lista de localidades que hay en la bd, pero tengo 2 combos: uno para la localidad del domicilio de despacho, y otro para la localidad del domicilio personal, porque pueden estar en distintas ciudades.

El caso es que ambos dblookup toman datos de la misma tabla, pero no he podido asociarlos al mismo datasource que contiene como dataset la tabla de localidades.

Muchas gracias por responder.
Responder Con Cita
  #4  
Antiguo 01-01-2015
Avatar de jafera
jafera jafera is offline
Miembro
 
Registrado: may 2007
Ubicación: Llagostera (Girona)
Posts: 582
Poder: 17
jafera Va por buen camino
Y porque no usas dos consultas sql que apunten a la misma tabla (datasource).
Una sql se llama cidades_cliente y otra ciudades_emvio por ejemplo.
Si lo que pasa es que se puedan dar de alta ciudades que no esxiten pues la insertas en la tabla principal, al hacer post del datasource pues abres y cierras las consultas sql y ya tendras las ciudades disponibles en ambos combobox.
En casos así yo suelo poner un menu contextual en el combobox que se llame añadir ciudad y que solo sea visible si la tabla principal del cliente está en alta o edición.

Saludos

Josep
Responder Con Cita
  #5  
Antiguo 01-01-2015
giulichajari giulichajari is offline
Miembro
 
Registrado: nov 2012
Posts: 306
Poder: 12
giulichajari Va por buen camino
Cita:
Empezado por jafera Ver Mensaje
Y porque no usas dos consultas sql que apunten a la misma tabla (datasource).
Una sql se llama cidades_cliente y otra ciudades_emvio por ejemplo.
Si lo que pasa es que se puedan dar de alta ciudades que no esxiten pues la insertas en la tabla principal, al hacer post del datasource pues abres y cierras las consultas sql y ya tendras las ciudades disponibles en ambos combobox.
En casos así yo suelo poner un menu contextual en el combobox que se llame añadir ciudad y que solo sea visible si la tabla principal del cliente está en alta o edición.

Saludos

Josep
Es que no es un alta de ciudades, necesito la lista de ciudades para dar de alta 2 ubicaciones distintas, pero las ciudades ya las tengo, tngo un Ztable con las ciudades y un datasource asociado.
Responder Con Cita
  #6  
Antiguo 01-01-2015
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola giulichajari.

La verdad es que yo tampoco entiendo cuál es la dificultad. Supongamos que dos tablas son:

CLIENTES:
Código:
...
CIUDAD_COMERCIAL
CIUDAD_PERSONAL
...
CIUDADES:
Código:
...
NOMBRE
...
Las configuraciones de los Combos deberían ser:
Código Delphi [-]
begin
  // domicilio comercial
  with DBLookupComboBox1 do
  begin
    ListSource:= dsCiudades; // DataSource -> tabla CIUDADES
    ListField := 'NOMBRE';   // nombre ciudad
    KeyField  := 'NOMBRE';   // nombre ciudad
    DataSource:= dsClientes; // DataSource -> tabla CLIENTES
    DataField := 'CIUDAD_COMERCIAL';  // ciudad del comercio
  end;

  // domicilio personal
  with DBLookupComboBox2 do
  begin
    ListSource:= dsCiudades; // DataSource -> tabla CIUDADES
    ListField := 'NOMBRE';   // nombre ciudad
    KeyField  := 'NOMBRE';   // nombre ciudad
    DataSource:= dsClientes; // DataSource -> tabla CLIENTES
    DataField := 'CIUDAD_PERSONAL';   // ciudad de vivienda
  end;
end;
O tal vez no esté entendiendo el planteo...


Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #7  
Antiguo 01-01-2015
giulichajari giulichajari is offline
Miembro
 
Registrado: nov 2012
Posts: 306
Poder: 12
giulichajari Va por buen camino
dsClientes tiene como DataSet ciudades? Y ambos DBLookUpComboBox tiene en ListSource dsClientes? Si es asi : lo has probado, porque a mi no me permite hacer esto, cuando lo ejecuto y selecciono en uno se borra el otro.

Y yo tengo una tabla ubicaciones con el idlocalidad y el domicilio, y una tabla con el idcliente y el idubicacion.
Responder Con Cita
  #8  
Antiguo 02-01-2015
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola giulichajari.

Si, lo he probado y funciona si las tablas tienen la estructura que te mencioné y los combos están configurados de ese modo.

Todas estas impresiciones se presentan por que nos das poca información como para poder brindarte una solución adecuada al problema.
Si queres una respuesta mas concreta vas a tener que poner las definiciones de las dos tablas que intervienen y los valores que deseas recibir en la tabla CLIENTES. Ya que si por ejemplo, la propiedad KeyField del TDBLookupComboBox fuera un identificador numérico, habría que usar otro código.

Te hice un demo basado en BDE que correrá en cualquier versión de Delphi y de ese modo no tendrás problema de revisar su funcionamiento. Crea una carpeta y descomprime el adjunto allí; ya contiene las dos tablas de prueba.

Saludos.
Archivos Adjuntos
Tipo de Archivo: zip demo.zip (7,9 KB, 7 visitas)
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #9  
Antiguo 18-01-2015
giulichajari giulichajari is offline
Miembro
 
Registrado: nov 2012
Posts: 306
Poder: 12
giulichajari Va por buen camino
Cita:
Empezado por ecfisa Ver Mensaje
Hola giulichajari.

Si, lo he probado y funciona si las tablas tienen la estructura que te mencioné y los combos están configurados de ese modo.

Todas estas impresiciones se presentan por que nos das poca información como para poder brindarte una solución adecuada al problema.
Si queres una respuesta mas concreta vas a tener que poner las definiciones de las dos tablas que intervienen y los valores que deseas recibir en la tabla CLIENTES. Ya que si por ejemplo, la propiedad KeyField del TDBLookupComboBox fuera un identificador numérico, habría que usar otro código.

Te hice un demo basado en BDE que correrá en cualquier versión de Delphi y de ese modo no tendrás problema de revisar su funcionamiento. Crea una carpeta y descomprime el adjunto allí; ya contiene las dos tablas de prueba.

Saludos.
El problema es que no tengo 2 campos de ciudad en la tabla clientes, porque debo guardar el idciudad. Estoy insertando un cliente, y en upersona (ubicaciones de persona) quiero insertar el idcliente y el idciudad de la ubicacion, obviamente son 2 registros en upersona por cada cliente insertado.

Pero el caso es que al seleccionar una ciudad en un combo se vacia el otro
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
Solo ejecutar un procedimiento cuando solo la ventana esta activa feliz-58 Varios 4 10-08-2013 19:39:04
Conectar el Datasource maycampana Conexión con bases de datos 16 23-08-2012 15:22:33
Conectar datos de Edit a DataSource para crear gráficas yojona Varios 1 19-12-2011 04:22:44
conectar dos BD interbase para una consulta que sólo va a mostrar datos Giniromero Firebird e Interbase 15 08-11-2007 10:54:21
conectar 2 pc con un solo monitor en conector db9 Arturo Varios 2 05-06-2006 18:52:21


La franja horaria es GMT +2. Ahora son las 17:19:42.


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