Cuadro de lista

Me estoy volviendo loca con una cosa que quiero hacer. Tengo un cuadro de lista con 4 columnas y quiero ir rellenando por cada fila, pero lo que me pasa que con el additem me guarda todos los valores uno debajo del otro. ¿Qué tengo que hacer para que cada campo me lo ponga en su columna correspondiente? ¿Y para limpiar la lista como debo hacer? Porque la propiesdad lista. Clear no me aparece a mi.

6 Respuestas

Respuesta
1
No te vuelvas loca, simplemente la característica columns es para la visualización del cuadro de lista, por lo que no puedes meter cuatro columnas diferentes. La forma de hacerlo es con cuatro cuadros de texto diferentes pero con el mismo nombre y diferente index, entonces irás metiendo los datos en tus cuadros:
    ListBox(index). AddItem "texto"
Prueba.
Es que el jefe me ha dicho que no lo quiere con campos individuales que tiene que ser como una tabla con 4 columnas ¿tienes alguna otra idea? Que tiene que ser un objeto
Ponlas muy juntas sin espacio entre ellas y en la propiedad Apearance la pones como flat.
O simplemente muy juntas.
Lo siento, la otra opción sería algo más difícil. Los datos que metes en las columnas no tienen que ver entre si las de la misma fila, ¿no?
Es que lo que me dices tu no me sirve, si quieres te mando el formulario que tengo y te explico lo que quiero hacer. Es que la cosa es que elijo mes, año, fecha y un motivo de baja, con un botón tengo que añadir estos valores elegidos al cuadro de lista pero cada campo en una columna. Elijo otros valores y me tiene que insertar en una nueva linea. Tengo otro botón que me elimina la fila que selecciono y otro que con la fecha, mes y año seleccionado me añade todos los motivos de baja, no se si me explico...
La idea es que quieres añadir filas en un cuadro, ¿no?, como si fuera una hoja de excel.
mi mail es [email protected]
Para eso no sirve el Cuadro de texto.
Respuesta
2
Me ha pasado!
Cuando te diga como es te vas a querer matar... pero no vale la pena.
El secreto está en el additem. Poné ";" en la cadena que agregas y eso es un separador de columnas. Fácil ¿no?
Para borrar utiliza el método Removeitem (recorriendo la lista si quieres borrar varios [o todos]
Respuesta
1
Para llenar las columnas de una ListBox, usa el método AddListItem(texto, fila, columna)
Por ejemplo:
ThisForm. List1. AddListItem("Frutas", 1,1)
ThisForm. List1. AddListItem("Manzanas", 1,2)
ThisForm. List1. AddListItem("Platanos", 1,3)
ThisForm. List1. AddListItem("Peras", 1,4)
ThisForm. List1. AddListItem("Mascotas", 2,1)
ThisForm. List1. AddListItem("Perros", 2,2)
ThisForm. List1. AddListItem("Gatos", 2,3)
ThisForm. List1. AddListItem("Loros", 2,4)
Tambien puedes usar la propiedad ColumnWidths para acomodar el ancho de cada columna, de esta forma:
ThisForm.List1.ColumnWidths = "60,60,60,60"
Con esta linea le indicamos que cada una de las 4 columnas va a tener un ancho de 60 pixeles.
Para borrar las filas de la ListBox usa el comando:
ThisForm. List1. Clear()
A mi la propiedad AddListItem no me aparece, mi cuadro de lista se llama lista le doy al punto y me aparece additem pero no addlistitem ¿por qué puede ser esto?
Me parece extraño que no aparezca, tal vez sea por la version.
Tal vez no aparezca en la lista automática, pero intenta escribir el código que te envié, y debe correr sin problemas.
¿Pues no me funciona e? Pero gracias de todas formas, ya he conseguido hacer, ahora me falta poner los títulos a las columnas a ver si consigo
Respuesta
1
Extrmemadamente tarde probablemente ya lo resolviste pero el additem en las listas con las columnas trabaja de la sig manera
Lista. Additem ("cad1;cad2;cad3") en el caso de que sea texto
el separador es ;
Respuesta
Yo de access no tengo tampoco mucha idea, no se si soy el mejor al que puedes preguntarle...
¿Por qué no haces el cuadro de lista independiente y pones 4 cuadros de texto vinculando cada uno a un valor de la lista?
Para limpiar la lista, puedes poner un botón de eliminar registro si quieres ir uno por uno, o directamente te vas a la tabla y borras todos los registros.
Respuesta
No entiendo muy bien lo que necesitas.
Entiendo que tu cuadro de lista devuelve listas de 4 campos, pero requieres que lo guarde en su columna,
no deberías de realizar el cuadro de lista por campo y que solo te devuelva un solo valor en lugar de los 4 para que te lo actualize, en tu consulta debes de tener 4 valores para que regrese,
trata lo anterior a ver si te sirve, si en tu lista lo que quieres es que la actualize de acuerdo a algún valor puedes usar el sig. código
Private Sub Actualizar_Click()
On Error GoTo Err_Actualizar_Click
DoCmd.DoMenuItem acFormBar, acRecordsMenu, 5, , acMenuVer70
Exit_Actualizar_Click:
Exit Sub
Err_Actualizar_Click:
MsgBox Err.Description
Resume Exit_Actualizar_Click
End Sub
Este actualiza los formularios, que es lo que creo que quieres hacer

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas