Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   relacionar combos (https://www.clubdelphi.com/foros/showthread.php?t=49590)

wesito 24-10-2007 23:51:37

relacionar combos
 
Hola a todos, tengo dos tablas una departamento y ciudad, cuya clave primaria es el codigo departamento y el de la ciudad. Necesito saber como hacer para que en la lista o combo de ciudades puedan aparecer las relacionadas con el departamento elejido. No sé como pasar el keyvalue del departamento a la sentencia SQL, que busca las ciudades. Gracias.

jhonny 25-10-2007 00:01:57

En el OnChange o el OnClick (Dependiendo si estas usando un TComboBox o un TDBLookupComboBox) del listado envias el parametro al query de la ciudades, asi:

Código Delphi [-]
QueryCiudad.ParamByName('Cod_DPTO').AsString := QueryDeptoCod_DPTO.AsString;

Claro, todo eso suponiendo que en la tabla ciudades tienes el codigo del departamento al que pertenece y que el query de ciudades es algo como

Código SQL [-]
select cod_ciudad, descripcion from ciudades where cod_depto=:coddepto;

Espero te sirva ;).

wesito 25-10-2007 00:38:24

estas seguro?
 
QueryCiudad.ParamByName('Cod_DPTO').AsString := QueryDeptoCod_DPTO.AsString;tira error en parambyname, asstring, etc.

jhonny 25-10-2007 15:08:13

Cita:

Empezado por wesito (Mensaje 240932)
QueryCiudad.ParamByName('Cod_DPTO').AsString := QueryDeptoCod_DPTO.AsString;tira error en parambyname, asstring, etc.

Estoy seguro que eso funciona ;), pero deberas adapatarlo a tu aplicación dependiendo del nombre de tus parametros, querys y demas... recuerda que debes configurar los parametros desde el editor de parametros del dataset indicandole el tipo en su propiedad DataType. De todas formas es bueno que nos muestres el error que te ha salido, seguramente allí este la respuesta.

enecumene 25-10-2007 16:19:00

Disculpame amigo jhonny estoy algo confundido, no deberia ser con Value en vez de asstring? se puede eso?.

Cita:

QueryCiudad.ParamByName('Cod_DPTO').Value := QueryDeptoCod_DPTO.AsString;
Saludos.

jhonny 25-10-2007 16:56:46

Cita:

Empezado por enecumene (Mensaje 241077)
Disculpame amigo jhonny estoy algo confundido, no deberia ser con Value en vez de asstring? se puede eso?.



Saludos.

Si claro, tambien puedes usar Value, lo que sucede es que acostumbro a usar el tipo correspondiente (String, Integer, Double y demas) ya que el Value es de tipo Variant por lo que ocupara un poco mas de memoria, ya que este tendra que determinar al final de que tipo es el dato que necesita evaluar. Pero si en ultima instancia no se que tipo de dato tiene ese TField pues usaria Value ;).

wesito 25-10-2007 16:57:41

Voy a volver a probar y aviso cuales son los errores, si es que los tira. Gracias

enecumene 25-10-2007 16:58:45

Gracias Jhonny, no estaba muy claro con esa parte, pero ya se ma aclaro gracias de nuevo.

Saludos.


La franja horaria es GMT +2. Ahora son las 13:01:31.

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