Club Delphi  
    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 Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 12-08-2013
exequielmatias1 exequielmatias1 is offline
Miembro
NULL
 
Registrado: jul 2013
Posts: 29
Poder: 0
exequielmatias1 Va por buen camino
selec un dato del DBLookupComboBox y guardar muchos en bd

Hola a todos! mi duda del dia de hoy es la siguiente:
tengo 3 tablas, una Provincia (con todas las provincias del pais) y otra Ciudad (con todas las ciudades del pais). Tengo toda la tabla Provincia cargada en el DBLookupComboBox, y quiero seleccionar por ejemplo una provincia Cordoba, y al presionar un btnGuardar se carguen todas las ciudades en una tabla nueva generando registros nuevos para cada ciudad.
Responder Con Cita
  #2  
Antiguo 12-08-2013
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 exequielmatias1.

Trata de explicar con todo detalle el problema tal como aconseja el punto 9 de la guía de estilo.
  • ¿ Con que RDBMS estas trabajando ?
  • ¿ Con que componentes ?
  • ¿ Cuales son los campos de las tablas provincias y ciudades ?
  • ¿ Cada ciudad tiene un campo que la relaciona a su provincia ?
  • ¿ La tabla nueva ya está creada ?

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 12-08-2013 a las 22:29:15.
Responder Con Cita
  #3  
Antiguo 13-08-2013
exequielmatias1 exequielmatias1 is offline
Miembro
NULL
 
Registrado: jul 2013
Posts: 29
Poder: 0
exequielmatias1 Va por buen camino
Red face

Pordon por no ser claro..
Tengo una base de datos en Access llamada "Datos" conectada a un ADOQuery, Esta base contiene una tabla llamada Provincias con los campo id y pronvincia ya cargada, y una tabla Ciudades con los campos id y ciudades, con todas las ciudades del pais ya cargadas.
Lo que quiero lograr es que desde un DBLookupcombobox que estan cargadas todas las provincias, seleccione una, y en una tabla Persona ya creada, con sus campos, genere registros con todas las ciudades en el campo ciudad (de la provincia elegida).

Ej: elijo en el combobox una provincia "Cordoba" y al presionar Guardar, se carguen todas las ciudades de la provincia "cordoba" en el campo ciudad de la tabla persona.
Pregunto también si debería mejorar esta base de datos, de alguna manera para cumplir con lo que me piden.
Espero haber sido mas claro sino mejorare mi explicación.
Responder Con Cita
  #4  
Antiguo 13-08-2013
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 exequielmatias1.

Si en la tabla CIUDADES, tenes creado un campo PROVINCIA_ID que haga referencia al campo ID de la provincia a la que pertenece (como creo que sería lógico). Y en el TDBLookupComboBox de provincias, tenes configuarada la propiedad KeyValue para que te devuelva el valor del campo ID de la tabla PROVINCIAS, podes hacer algo similar a:
Código Delphi [-]
procedure TTuForm.btnGuardarClick(Sender: TObject);
begin  
  with qyNueva do
  begin
    Close;
    SQL.Clear;
    SQL.Add('INSERT INTO TABLA_NUEVA(ID, NOMBRE_CIUDAD, PROVINCIA_ID)');
    SQL.Add('SELECT T2.ID, T2.NOMBRE_CIUDAD, T2.PROVINCIA_ID');
    SQL.Add('FROM TABLA_CIUDADES T2');
    SQL.Add('WHERE T2.PROVINCIA_ID = ' + QuotedStr(QuotedStr(DBLookupProvincias.KeyValue)));
    ExecSQL;
  end;
end;
Tenes que reemplazar los nombres de las tablas, campos y componentes por los que correspondan a tu caso.

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #5  
Antiguo 13-08-2013
jpgonzalez jpgonzalez is offline
Miembro
 
Registrado: feb 2010
Posts: 121
Poder: 15
jpgonzalez Va por buen camino
Buenas ezequiel...
Algunas preguntas para hacerte...

1) Para que queres guardar todas las ciudades de la provincia Cordoba en una persona?
2) No creo conveniente (y de hecho sería muy engorroso) guardar todas las ciudades de una provincia en un solo campo ciudad de una persona... Que información guardaría la ciudad??... el lugar donde vive???... siendo asi, volveria a preguntar lo que puse en 1).

Si lo que queres es guardar la provincia y ciudad donde vive una persona, deberías:

1- Tener un conbobox sonde listes las provincias, supongamos que se llame CBoxProvincias
QUERY PROVINCIAS EJEMPLO --> select * from provincias

2- Tener otro combo que cargue las ciudades dependiendo la provincia seleccionada en CBoxProvincias
QUERY CIUDADES EJEMPLO--> select * from ciudades
where idProvincia = :idProvincia
:idProvincia sería el parametro que le mandarias a esta ultima query, cuyo valor lo sacarias del CBoxProvincias.KeyValue... a esta query la
podrias abrir en el closeup del combo, o en el onexit

Luego solo tendrias que guardar la provincia y la ciudad elegida en cada combo, y ahi tendrias la provincia y ciudad donde vive la persona

Abrazo!
Responder Con Cita
  #6  
Antiguo 14-08-2013
exequielmatias1 exequielmatias1 is offline
Miembro
NULL
 
Registrado: jul 2013
Posts: 29
Poder: 0
exequielmatias1 Va por buen camino
Cita:
Si lo que queres es guardar la provincia y ciudad donde vive una persona
* Hola JP en realidad es un ejemplo, parecido a lo que tengo que tengo que hacer, ya que lo real es mas complicado explicar.
* mas halla de mi ejemplo, lo que quiero hacer seleccionar un dato de un combobox y copiar todos los registros de ese dato en una tabla.
por ejemplo selecciono una provincia del combobox la cual esta cargada en una tabla, y que se generen registros con las ciudades de esa provincia, en un campo de otra tabla.
* Solo tengo una base con una tabla PROVINCIAS campos: id, provincia y una tabla CIUDADES campos: id, ciudad. No tengo ninguna relacion entre ellas y tampoco tengo discriminado que ciudad pertenece a cada provincia. Lo cual tambien es parte de mi duda.. como relaciono estas dos tablas? (por ahora estoy haciendo lo que me aconsejo ecfisa
Responder Con Cita
  #7  
Antiguo 14-08-2013
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
Cita:
Empezado por exequielmatias1 Ver Mensaje
No tengo ninguna relacion entre ellas y tampoco tengo discriminado que ciudad pertenece a cada provincia.
Hola exequielmatias1.

Si los registros de la tabla CIUDADES no tienen un campo que identifique a que provincia pertenece, no veo la forma de seleccionar aquellas ciudades que corresponden a determinada provincia.

Cita:
Lo cual tambien es parte de mi duda.. como relaciono estas dos tablas?
Lo único que tendrías que agregar es un campo mas a la tabla CIUDADES para que almacene el ID de la provincia a que pertenece, por ejemplo:

Tabla CIUDADES:
Código:
ID    | NOMBRE_CIUDAD     | PROVINCIA_ID 
------+-------------------+-------------
...   | ................  | ...   
45    | Villa Carlos Paz  | 5
47    | Federación        | 12
51    | Coronel Vidal     | 3
60    | Gonzalez Chavez   | 3
...   | ................  | ...
Tabla PROVINCIAS:
Código:
ID    | NOMBRE_PROVINCIA   
------+-------------------
...   | ...
3     | Buenos Aires
12    | Entre Rios   
5     | Córdoba
...   | ...
Entonces tomando en cuenta el campo de referencia PROVINCIA_ID, ahora si podemos decir que la relación está establecida ya que:
Código:
Villa Carlos Paz  -> Córdoba      (5)
Federación        -> Entre Rios  (12)
Coronel Vidal     -> Buenos Aires (3) 
Gonzalez Chavez   -> Buenos Aires (3)
Y por lo tanto solo necesitamos seleccionar de la tabla CIUDADES aquellas cuyo campo PROVINCIA_ID sea igual al ID de provincia deseado. De forma tál al código que te puse en el mensaje anterior.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
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
mostrar un dato con un DBLookupComboBox y guardar su indice marcos_0586 Varios 4 21-07-2010 16:32:38
Guardar Muchos Caracter En Un Campo Firebird ingabraham Varios 2 22-03-2010 16:25:52
Dato que se muestra en DbLookupComboBox M. FM. Conexión con bases de datos 1 13-11-2009 18:27:46
Fallo al guardar dato en firebird weke Conexión con bases de datos 3 02-02-2009 23:36:53
Guardar muchos muchos Tedit el-mono OOP 4 30-09-2008 06:40:33


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


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