Filtrar según longitud de un campo

Dudas sobre código
Avatar de Usuario
leadrudi
Nivel 6
Mensajes: 267
Registrado: Sab Oct 14, 2017 7:55 am

Filtrar según longitud de un campo

Mensajepor leadrudi » Mar Sep 13, 2022 8:04 pm

Buenas tardes aquí:
Tengo curiosidad de saber si es posible filtrar un campo de acuerdo con la longitud de su contenido (siempre, desde un formulario donde escojo menor al valor ingresado).
:?: :!: :idea: :arrow: :oops: :( :o :) :D :geek: :ugeek:

Avatar de Usuario
Neckkito
Moderador
Mensajes: 1254
Registrado: Dom Oct 25, 2015 3:42 pm

Re: Filtrar según longitud de un campo

Mensajepor Neckkito » Mié Sep 14, 2022 6:07 pm

Hola:

No acabo de entender qué es lo que quieres hacer, pero para saber la longigud de un campo puedes utilizar la función len()

https://is.gd/q4AZ3x

Saludos
Access MVP 2017-2022
http://bit.ly/NckAccess

Avatar de Usuario
leadrudi
Nivel 6
Mensajes: 267
Registrado: Sab Oct 14, 2017 7:55 am

Re: Filtrar según longitud de un campo

Mensajepor leadrudi » Mié Sep 14, 2022 8:52 pm

Sí, a la función LEN le saco el jugo a más no poder.
Ahora, para obtener los registros cuyo contenido del campo tiene X cantidad de caracteres, eso es lo que necesito.
Puntualmente, cuando alguien comete un error grosero, se registra una especie de incidente con un número de un dígito. Y se genera un historial correlativo añadiendo a lo previo el nuevo código. Lo que necesito es poder filtrar los que tienen X cantidad de incidentes, más o menos, según se necesite.
(por cuestiones de confidencialidad no puedo mostrar muchos datos, pero, a modo de ejemplo, como sería)
Filtro.png

En el campo "Buscar" necesito poner >5 para obtener los que tienen más de 5 incidentes.
Si se puede evitar añadir un campo calculado que cuente el largo del campo, mejor. Lo que quiero es obtener esos registros con X cantidad de indicentes del campo Historial.
:?: :!: :idea: :arrow: :oops: :( :o :) :D :geek: :ugeek:

Avatar de Usuario
Neckkito
Moderador
Mensajes: 1254
Registrado: Dom Oct 25, 2015 3:42 pm

Re: Filtrar según longitud de un campo

Mensajepor Neckkito » Mié Sep 14, 2022 11:28 pm

No veo dónde puede estar la dificultad. El filtro sería algo así como:
"where len([Historial]" & me.campoBuscar

Estoy hablando sin haberlo probado, pero por ahí deberían ir los tiros.

Y para saber si se debe aplicar este filtro haces un chequeo previo de, si en el campo de búsqueda, existe el símbolo ">". Para ello podías evaluar si la función instr() te devuelve cero o no (https://is.gd/rk2ndy)

Saludos.
Access MVP 2017-2022
http://bit.ly/NckAccess

Avatar de Usuario
leadrudi
Nivel 6
Mensajes: 267
Registrado: Sab Oct 14, 2017 7:55 am

Re: Filtrar según longitud de un campo

Mensajepor leadrudi » Lun Sep 19, 2022 3:25 pm

Recién lo pruebo. Dos cosas voy a decir:
1: No pensé que se pudiera usar así, pero eso me ayuda a simplificar muchas cosas que hice antes.
2: Ha funcionado de mil maravillas.
Igual, como no devuelve error ni resultados, si no ingresa algún condicionante, deberá entender que debe hacerlo. Además, tiene una sugerencia donde se le aclara.
Caso 2.png
Caso 2.png (3.84 KiB) Visto 249 veces
Caso1.png
Caso1.png (4 KiB) Visto 249 veces

Una vez más, muchísimas, muchísimas pero que muchísimas gracias.
:?: :!: :idea: :arrow: :oops: :( :o :) :D :geek: :ugeek:

Avatar de Usuario
Neckkito
Moderador
Mensajes: 1254
Registrado: Dom Oct 25, 2015 3:42 pm

Re: Filtrar según longitud de un campo

Mensajepor Neckkito » Lun Sep 19, 2022 4:58 pm

Hola:

Como idea adicional, y para controlar mejor a los usuarios (que ya sabemos que a veces la lían parda), piensa que siempre puedes poner un cuadro combinado independiente que muestre una lista de los comparadores matemáticos que quieres dejar utilizar, con uno de ellos (en teoría el más utilizado) como valor por defecto. Así, el usuario tendrá que elegir el comparador que quiere usar del combo y, una vez elegido (y con salto de foco automático al control de búsqueda), escribir solo el valor a buscar.

Así, tu filtro al final sería una concatenación del valor del combo más el valor del control de búsqueda.

Lo dicho: solo para aportar una idea más.

Saludos,
Access MVP 2017-2022
http://bit.ly/NckAccess


Volver a “Código VBA”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 8 invitados