FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Rellenar un ListBox con los registros de un campo de la BD
Hola a todos y felices fiestas.
Tengo una aplicación que tabaja con adoquery y con una base de datos access, he puesto un ListBox y quiero que este se me rellene con los registros que halla el el campo poblacion y no se como hacerlo, por que no todos los registros tienen puesta la población y claro algunos de ellos la población es la misma y no quiero que se repitan. ¿Como puedo hacerlo? Gracias de antemano y a pasar buenas fiestas. Un Saludo |
#2
|
||||
|
||||
Cita:
Eso te debería devolver registros únicos (en todo caso 1 que te puede molestar con NULL). (2) Haces un recorrido estandard por la consulta (WHILE not ADOQuery.EOF...) y los vas añadiendo al ListBox; En todo caso utiliza un IF para comprobar que no sean nulos... (prop. IsNull del Field)
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#3
|
|||
|
|||
Hola y gracias de nuevo Neftali por tu ayuda, tengo una duda, cuando tu pones:
En NombreProvincia que le paso, por que yo quiero crear esta funcion en el Oncreate del Form principal, y quiero que cuando se ejecute la aplicación ya salgan las poblaciones que hay en la BD en el ListBox. No se si me he explicado bien, pero, espero que puedas aclararme la duda. |
#4
|
||||
|
||||
Cita:
* NombreProvincia es el nombre del campo de la tabla Provincia que quieres que aparezca en el ListBox
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#5
|
|||
|
|||
Neftali soy un pesao pero es que le he dado dos mil vueltas y no me deja ejecutar la aplicación, tengo el siguiente codigo:
Hay veces que se me queda haciendo un bucle infinito con el While y no se me llega a ejecutar la aplicación y otras veces como es el caso del código que te he puesto más arriba me da un excepción. Todo depende de como intente añadir al ListBox las poblaciones DbAux es un DbEdit que lo he asociado al campo Poblacion del Adoquery1. Estoy atascado no se como seguir, a ver si lo consigo y dejo de molestar por que soy un pesao... |
#6
|
||||
|
||||
Te falta el Next. Estás incluyendo en el Listbox siempre el mismo registro, por eso nunca termina el bucle.
procedure TForm7.FormCreate(Sender: TObject); begin AdoQuery1.Active:=true; WHILE not AdoQuery1.EOF do begin AdoQuery1.SQL.Text:='SELECT distinct Poblacion FROM agenda'; ListBox1.Items.Add(Dbaux.Field.Text); AdoQuery1.NEXT; end; end; Espero que te sirva de ayuda. Un saludo
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino - |
#7
|
|||
|
|||
Fjcg02 sigue sin funcionarme, me sigue saliendo la dichosa excepción, no se que podra ser pero lo tengo como me has dicho y nada que no se me ejecuta.
Gracias de todas formas por tu ayuda |
#8
|
||||
|
||||
Código:
procedure TForm7.FormCreate(Sender: TObject); begin // Asigna la SQL y abre una sola vez, no cien .. AdoQuery1.SQL.Add('SELECT distinct Poblacion FROM agenda'); AdoQuery1.Active:=true; // recorre los registros WHILE not AdoQuery1.EOF do begin // y asigna el valor de los campos de esa query que utilizas, y no otra ListBox1.Items.Add(AdoQuery1,Fields.FieldByName('Poblacion'.AsString); AdoQuery1.NEXT; end; end; Espero que te sirva de ayuda. Un saludo
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino - |
#9
|
|||
|
|||
Fjcg02 muchas gracias ya lo he solucionado, tenia que sacar la consulta fuera del While.Pero, ahora como quito los registros que estan vacios, Neftalí me dijo que con la propiedad Isnull del Field pero como llamo a esa propiedad.
Muchisimas gracias a los dos por vuestra ayuda. Un Saludo |
#10
|
||||
|
||||
Falta cerrar un paréntesis en:
y opcionalmente añadir el control para evitar un posible nulo, pero a ésto era a lo que yo me refería. (Editado...) NOTA: Veo que la aclaración llegó tarde...
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#11
|
||||
|
||||
Cita:
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#12
|
|||
|
|||
Neftalí muchisimas gracias ya he solucionado el problema pongo el código por si alguien que sea tan novato como yo lo necesita:
Un Saludo y muchas gracias |
|
|
|