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 09-02-2009
yorgelis yorgelis is offline
Miembro
 
Registrado: ene 2009
Posts: 20
Poder: 0
yorgelis Va por buen camino
asignar los registros de una consulta a un bdlookupcombobox

compañeros necesito la ayuda de todo aquel que me diga la forma de asignarle los registros que devuelve una consulta hecha a una Base de datos a un dblookupcombobox
lo he hecho asi:
dblookupcombobox.assign(tbquery)
pero no me funciona agradeceria mucho si alguien me ayuda en esto uso delphi7
espero por algunos de ustedes.
Responder Con Cita
  #2  
Antiguo 09-02-2009
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 30
jhonny Va camino a la famajhonny Va camino a la fama
A la propiedad ListSource del dblookupcombobox, debes asignarle el DataSource que este asignado al TDataSet que trae dicha consulta...

Luego en la propiedad ListField indicarle los campos que deseas visualizar, separados por punto y coma.

En ListFieldIndex, indicar cual es el campo que deseas que se visualice una vez el usuario, seleccione una opción.

Y en KeyField asignar el campo "llave" de esa consulta (Este sera el campo que contiene el valor que se guardara, en la propiedad KeyValue y por lo tanto (Si es el caso) en el DataSet que esta "asignado" al DataSource que a su vez, esta "asignado" a la propiedad DataSource de tu dblookupcombobox).

Una ultima cosita... si asignas un valor a la propiedad DataSource de tu dblookupcombobox, deberás indicarle a que campo guardar el valor seleccionado, por medio de la propiedad DataField...

P.D: Que vaina tan larga esta... .
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #3  
Antiguo 09-02-2009
yorgelis yorgelis is offline
Miembro
 
Registrado: ene 2009
Posts: 20
Poder: 0
yorgelis Va por buen camino
respuesta

jhonny gracias por la ayuda en realidad eso lo hice ya, la idea es seleccionar desde una consulta los registros que quiero debido a que tengo una tabla que se llama trabajadores, los cuales pertenecen a una unidad por ejemplo
jhonny meson
yorgelis unidad1
jhonny2 unidad1
ya el nombre de la unidad se repite, por eso tengo que hacer un select distinct para mostrar dentro del bdlookupcombobox los nombre de las unidades pero sin repetirse, para despues que seleccione en este primer bdlookupcombobox la unidad en otro se me carguen los trabajadores de esa unidad entiendes como es la cosa??
que sucede cuando utilizo el query para hacer esto me da error no se como asignarle lo que el me devuelve para estos dblookupcombobox entiendes??
si conoces como hacer esto te agrdeceria de nuevo la ayuda.
Responder Con Cita
  #4  
Antiguo 14-02-2009
Avatar de joelphi
joelphi joelphi is offline
Miembro
 
Registrado: feb 2009
Ubicación: Guerrero
Posts: 24
Poder: 0
joelphi Va por buen camino
Wink

Debes de Asignar los Parametros de retorno de tu Query.. al DbLookupcombobox..
Deves retornar el Id y la lista Por ejemplo en nombre de algun trabajador..
el Id Para que lo guardes por dento del programa deacuerdo al nombre seleccionado..

P/e:

si tu consulta es

Select Id,Nombre From Trabajador Where id = Parametroentrada

entonces Retornaras Id y Nombre Osea 2 Parametros y se lo asignas asi..

DbLookupcombobox1.Datasource.Dataset := Query.Dataset;
Dblookupcombobox1.keyField := Query.Dataset.fiedbyName("Id");
Dblookupcombobox1.ListField := Query.Dataset.fiedbyName("Nombre");

Espero te sirva ya que soy estudiante..
Responder Con Cita
  #5  
Antiguo 14-02-2009
yorgelis yorgelis is offline
Miembro
 
Registrado: ene 2009
Posts: 20
Poder: 0
yorgelis Va por buen camino
gracias

gracias por tu respuesta intentare esa solucion a ver si las cosas funcionana espero que si no es asi me sigan ayudando con algunas dudas.
gracias por todo.
Responder Con Cita
  #6  
Antiguo 17-02-2009
yorgelis yorgelis is offline
Miembro
 
Registrado: ene 2009
Posts: 20
Poder: 0
yorgelis Va por buen camino
nada de nada

joelphi lo siento pero probe las variantes que me diste y no me funcionan lo primero es cuando intento mediante codigo lo siguiente
DbLookupcombobox1.Datasource.Dataset := Query.Dataset;
Dblookupcombobox1.keyField := Query.Dataset.fiedbyName("Id");
Dblookupcombobox1.ListField := Query.Dataset.fiedbyName("Nombre");
primero mi query no tiene las propiedades dataset por tanto no puedo acceder a la de fieldbyname a no ser de esta manera
unidad.DataSource.DataSet:=Query1.DataSource.DataSet;
unidad es el name de mi dblookupcombobox ahora mediante esta manera el project explota y me dice que no hay memoria suficiente para la operacion en realidad no se que hacer estoy muy apurado con esta cosa debido a esto no he podido avanzar en el proyecto que estoy haciendo se que esas cosas son sencillas pero no me salen falta de trabajar en esto si alguien puede ayudarme de nuevo se los agradeceria mucho recuerden que estoy trabajando en delphi 7 a lo mejor tiene propiedades distintas en sus componentes lo cual debe ser muy seguro gracias a todos.
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
Realizar una consulta sobre los registros que devuelve otra consulta Borjaserrano Firebird e Interbase 12 02-10-2007 00:19:44
Asignar resultado de consulta a variable Saiyan SQL 3 10-07-2007 16:44:10
Como asignar el resultado de una consulta a una variable Luis Cuenca Conexión con bases de datos 2 11-08-2006 17:27:32
Asignar consulta a bd a una matriz. josejorr OOP 3 30-09-2005 10:22:39
bdlookupcombobox dmagui Firebird e Interbase 5 31-05-2005 18:24:17


La franja horaria es GMT +2. Ahora son las 00:48:49.


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