Posicionarse en item de un cuadro lista |
Responder |
Autor | |
rokoko
Colaborador Unido: 16/Febrero/2008 Localización: Pamplona Estado: Sin conexión Puntos: 3062 |
Tema: Posicionarse en item de un cuadro lista Enviado: 07/Diciembre/2019 a las 18:59 |
A ver si consigo explicarme.
Mediante unos botones voy insertando registros en una tabla mediante consulta en SQL. Si es el mismo producto se va acumulado en el mismo registro. Una vez insertado un registro automaticamente se ne actualiza el cuadro de lista su cantidad y se muestra. Hasta hay todo bien. Ahora lo que quiero en que esa lista se me marque en negro(selecionada) el ultimo registro(producto) que he metido. La unica forma de identificar ese registro en la lista es mediante su IDProducto. Lo que no se es como mediante ese IDProducto decir en que fila esta posicionado y que se seleccine(marque en negro) Por ejemplo si el IDproducto es el 10, como se en que fila esta ese producto en la lista. Una vez tenga ese numero de la fila(numero de item) ir hasta ella ya sabria. Saludos
|
|
raipon
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Moderador Unido: 10/Diciembre/2004 Localización: Desconocida Estado: Sin conexión Puntos: 4044 |
Enviado: 07/Diciembre/2019 a las 19:21 |
Hola, si IDProducto es una de las columnas del ListBox (y si no, puedes agregarla oculta), recorre los elementos de la lista hasta encontrar el valor. Crea un bucle utilitzando:
- ListCount - Column (nColumn As Long, [Row]) Saludos. |
|
Mihura
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador Unido: 06/Mayo/2005 Localización: En la dehesa Estado: Sin conexión Puntos: 13990 |
Enviado: 07/Diciembre/2019 a las 19:56 |
Basta con que asignes a la lista el valor que buscas, siempre que la columna dependiente sea IDProducto:
Me.Lista = IdProducto
|
|
rokoko
Colaborador Unido: 16/Febrero/2008 Localización: Pamplona Estado: Sin conexión Puntos: 3062 |
Enviado: 07/Diciembre/2019 a las 20:38 |
Voy a empezar por la que parece mas "facil". He puesto la columna dependiete la que tiene el IDProducto, en esta caso la 7 contando que empezamos a contar por la 0. Y no me funciona....algo me estoy perdiendo.....
|
|
rokoko
Colaborador Unido: 16/Febrero/2008 Localización: Pamplona Estado: Sin conexión Puntos: 3062 |
Enviado: 07/Diciembre/2019 a las 22:40 |
No acababa de entender bien lo de raipon, y buscando encontre justo lo que quiero y lo que me explicaba raipon, ahora si lo veo.
El varProducto lo saco de un recordset o un DLookup..... Dim I As Integer Me.Lista0.SetFocus For I = 0 To Me.Lista0.ListCount If Me.Lista0.Column(7, I) = varProducto Then Me.Lista0.Selected(I) = True Exit For End If Next I https://www.lawebdelprogramador.com/foros/Access/271304-Buscar-un-dato-en-un-cuadro-de-lista.html Muchas gracias. Se puede cerrar
|
|
Mihura
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador Unido: 06/Mayo/2005 Localización: En la dehesa Estado: Sin conexión Puntos: 13990 |
Enviado: 08/Diciembre/2019 a las 10:05 |
Importante:
"siempre que la columna dependiente sea IDProducto" Es mucho más fácil así ... y eficiente. De todas formas, ¿quieres cerrar el tema? |
|
rokoko
Colaborador Unido: 16/Febrero/2008 Localización: Pamplona Estado: Sin conexión Puntos: 3062 |
Enviado: 08/Diciembre/2019 a las 14:02 |
No cierres voy a probar este metodo de nuevo, no se que estaría haciendo mal, ya puse la columna dependiendo id producto y no funcionaba.....
|
|
mounir
Colaborador Unido: 09/Febrero/2009 Localización: Asturias-España Estado: Sin conexión Puntos: 6479 |
Enviado: 08/Diciembre/2019 a las 16:23 |
Creo que la columna dependiete empieza por 1. |
|
Un Saludo.
|
|
Mihura
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador Unido: 06/Mayo/2005 Localización: En la dehesa Estado: Sin conexión Puntos: 13990 |
Enviado: 08/Diciembre/2019 a las 16:29 |
Mounir,
La numeración de columnas de un Combo (o de un ListBox) empiezan siempre en cero. La columna dependiente es la que va a tener el valor significativo y puede ser cualquiera de todas ellas. |
|
mounir
Colaborador Unido: 09/Febrero/2009 Localización: Asturias-España Estado: Sin conexión Puntos: 6479 |
Enviado: 08/Diciembre/2019 a las 16:51 |
Hola!
Muchas gracias por la aclaración. En etse ejemplo de microsoft habla de que para refrirse a la columna (0) habrá que establecer elvalor de la columna depndiente en (1) y de ahí la confusión. https://docs.microsoft.com/es-es/office/vba/api/access.combobox.boundcolumn#example |
|
Un Saludo.
|
|
rokoko
Colaborador Unido: 16/Febrero/2008 Localización: Pamplona Estado: Sin conexión Puntos: 3062 |
Enviado: 08/Diciembre/2019 a las 18:13 |
A ver... La columna dependiente la tengo en la 7. Es la que tiene el IDPoducto. Para otras operaciones pillo el dato de la 7 y es el correcto. Numero de columnas 8 Ancho: 1cm;4cm;1,515cm;1,515cm;1cm;1,515cm;2,51cm;0cm La que tiene anchura 0cm en la 7 empezando de 0. Hasta aqui esta todo correcto. El codigo que me funciona es este '********** ''Posicionarse en la lista de frmTPV del producto que acabamos de meter 'Dim A As Integer 'For A = 0 To Forms!frmTPV!Lista0.ListCount 'If Forms!frmTPV!Lista0.Column(7, A) = varProducto Then 'Forms!frmTPV!Lista0.Selected(A) = True 'Exit For 'End If 'Next A '****************** Pero con el metodo de Mihura no hay forma, algo me pierdo...mira que estoy probbando diferente formas y no hago carrera, mas vale que era el facil
|
|
Mihura
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador Unido: 06/Mayo/2005 Localización: En la dehesa Estado: Sin conexión Puntos: 13990 |
Enviado: 08/Diciembre/2019 a las 20:19 |
Acabo de probar con un cuadro de lista con 3 columnas ..., la tercera es la que esta declarada como dependiente:
me.lista = 4 -> siendo 4 el valor del código que quiero que coja y me la marca. ¡Ojo! ... que como decía Mounir (y detalla el enlace que ha puesto), mi listbox tiene tres columnas (0 - 1 - 2), pero la columna dependiente es la 3. Para que vamos a hacer algo fácil si podemos liarlo . En tu caso es la columna 7 (la de ancho = 0) que es la columna dependiente 8. |
|
rokoko
Colaborador Unido: 16/Febrero/2008 Localización: Pamplona Estado: Sin conexión Puntos: 3062 |
Enviado: 08/Diciembre/2019 a las 22:14 |
Por fin!!!!! Vaya lio con el orden de la dependiente y las Column, por que no seguira Microsoft el mismo criterio para las dos cosas.... En resumen para la columna dependiente se empieza a contar de la columna 1 Para pillar el dato con Column se empieza de la columna 0 Muchas gracias. Se puede cerrar |
|
Responder | |
Tweet
|
Ir al foro | Permisos de foro Usted No puede publicar nuevos temas en este foro Usted No puede responder a temas en este foro Usted No puede borrar sus mensajes en este foro Usted No puede editar sus mensajes en este foro Usted No puede crear encuestas en este foro Usted No puede votar en encuestas en este foro |