Problema en comparación de números con puntos y comas

Cuando comparo dos números con formato condicional mo funciona numero con comas 5,102 solo 5.102 pero el intuducir el numero con teclado numérico a lado de 0 me pone coma. ¿Hay un arreglo?

1 respuesta

Respuesta
1
Define el formato de celda para que el numero muestre los decimales adecuados.
5,102 es 5 unidades con 102 milésimas y 5.102 son cinco mil ciento dos unidades son dos cantidades diferentes.
Gracias por su respuesta. Podrías ser más explicito, por favor. La problema, como comente, es que al introducir datos y luego pasar por formato condicional ( lo comparo con una cadena que tengo guardada en tabla ya que cada tipo de dato necesita tener diferrentes condiciones) y si es 5,12 y la condición <6 no funciona y 5.12 y que funciona. Lo probé en ventana vba intermedio y es lo mismo. Un saludo. Buenas fiestas.
Disculpa que pensé que era una pregunta de excel.
El problema es que estas mezclando formatos de números. ¿Cuál es el formato numérico correcto?.
Si el punto (.) Es separador de miles. 5.12 no es un número es un texto y como tal lo está entendiendo la BD. Cambia los puntos por comas, revisa bien como tienes la información, quita caracteres innecesarios e intenta de nuevo.
Hola. ¿Cómo a ido las fiestas? Espero que bien.
La problema viene con puntos y comas en comparación de datos < o > between. Para insertar un dato con comas en sql insert necesito elevar función str(cadena con coma). Pero como otro campo que tengo es un filtro - o sea - condición si es válido <50 y etc y si los paso en informa a formato condicional como expresion : eval(mi campo & mi filtro) no me filtra ya que solo funciona con comas. Pero si pondo condición directamente en informe < 50 o etc entences funciona. Pero si también necesito sumar varios campos entonces ya no va - tengo puntos. Viva Miscosoft! No se si eso tiene arreglo. Gracias. Espero su opinión que es muy importante. Saludos.
Ese tema de puntos y comas es un verdadero rollo en las conversiones.
Si el nº de decimales que tienes es fijo ( 2 o 4) podrías tenerlo todo multiplicado por 100 en la BD así operas siempre con enteros y solo conviertes para mostrarlos.
Otra posibilidad ( la buena en teoría) es poner los regional setting de la BD y del PC de acuerdo para que ambos interpreten a un punto como decimal pero las comas las deberás omitir en los valores convirtiendo a enteros.
Y otra posibilidad es pasar los valores como parámetros en un cmd objetc o bien en un procedimiento. Eso ayuda mucho con todo este lio de los formatos.
Personalmente y para aplicaciones pequeñas uso la primera. Sabiendo lo que tengo en la BD y una función auxiliar para dividir/multiplicar por el factor adecuado va todo redondo.
Gracias por su respuesta.
La rollo de conversación de datos es que quiero pasar uno por filtro en formato condicional como variable como te comente antes, pero otros directamente. Cuando paso con variable lo tengo que haces por puntos (2.21 < 7.2) en tonces funciona, pero si directamente tengo que usar coma. Un rollo. No se si egsiste alguna soliucino rápida. Pasar por procedimiento es único que se me ocurrido también antes de sacar los datos por SQL.
Me podrías axplicar algo de formato condicionaplo por vba. O un par de ejemplos. A ver si allí encuentro algo.
Gracias
Un saludo
¿Qué es eso de filtro por formato condicional? No se a lo que te refieres, lo mismo lo conozco por otro nombre.
En cualquier caso siempre podrías se astuto y enviar (221/100 < 720/100) que es lo mismo pero 'tuneado' para que lo entienda cualquier cálculo númerico..
Hola. Para cada tipo de producto (por ejemplo) creo un filtro. Simplemente creo un campo llamado filtro y le pongo condicional >5, between 10 and 12.6. Y luego los saco a treves de consulta de cruzamiento y pongo en campo de formato conficional. Paso la funcion eval(). Por eso agui tiene que ser puntos (truco access). Pero si le pongo condicional directamente los rezultatos tiene que tener comas. Por eso le preguntaba si hay alguna explicación lógica para eso o no. Gracias
A ver:
El problema de puntos y comas es por los regional settingl. Access está usando unos y Windows otros. Por eso no ' conectan'
O bien haces que tengan la misma configuración o quitas los decimales como te comente, multiplicando todos los valores por 100 o por 1000 y gesitonando eso que es fácil,
Otra posibilidad es quitar el problema de cuajo. Si limitas las condiciones a enteros con una combo o algo así podrías filtrar evitando ese problema.
O bien escribir la query directamente si usar la función eval, así tienes total control con los decimales y demás.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas