none
COMO HAGO PARA Q LOS TEXTBOX Y LABEL ME ACEPTEN DOS VALORES DESPUES DE LA COMA RRS feed

  • Pregunta

  • EN LA BASE DE DAATOS QUE CREE ACCES 2003 COLOQUE A UN CAMPO CON DECIMAL Y Q ACEPTARA DOS VALORES DESPUES DE LA COMA

    ENTONCES CUANDO VOY A GUARDAR LOS DATOS POR MEDIO DEL LENGUAJE VB6 ME DA UN ERROR XQ TENGO MAS DE DOS VALORES DECIMALES

    EJEMPLO DEBEN SER 600,50 Y ME APARECE 600,5032
    martes, 18 de agosto de 2009 23:25

Todas las respuestas

  • hola,

    una consulta si a la base le pasa un valor de 600,50 de donde esta sacando el 32 ?

    o sea le has definido en access que solo permita 2 decimales correcto, y por alguna razon algo falla, la cuestion que esos 32 final de donde los obtiene?

    o es que le pasas desde codigo 600,5032, y quieres que la db lo trunque ?

    no has probado truncarlos desde codigo, por ahi antes de enviarlos a la db utilizar la funcion Round

    has probado ir a la db, editar la tabla y desde el mismo access insertar valores con decimales a ver comos e comporta, si trunca los decimales sobrantes o deja mas de 2 decimales.
    esto ultimo es apra descartar quee ste correctamente configurado el campo enaccess.

    saludos
    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    miércoles, 19 de agosto de 2009 0:34
  • utiliza en el insert a ACCESS format(cdbl(Nombrelabel.text), "0.##") o bien format(cdbl(NombreTextBox.text), "0.##")
    miércoles, 19 de agosto de 2009 11:53
  • Hola vegueta,

    puedes utilizar el control MaskedTextBox en vez del TextBox. Sólo debes especificar la propiedad Mask poniendo algo del estilo (9999999,99).



    En caso de que la respuesta te sirva, porfavor, márcala como válida

    Muchas gracias y suerte!


    Javier Jiménez Roda


    MCP (Microsoft Certified Professional)
    MCTS (Microsoft Certified Technology Specialist)
    MCPD (Microsoft Certified Professional Developer)
    Blog: http://jimenezroda.wordpress.com

    miércoles, 19 de agosto de 2009 12:01
  • hola,

    consulta el desarrollos que ahces es en VB6 ?
    ten en cuenta que esta lista es sobre vb.net, lo pregunto para no dar respuestas equivocadas

    si me imagino que armas una sentencias sql que ejcutas utilizando ADO, ahora bien como armas esta sentencia ?

    segun veo lo aplicas un formato pero ash verificado que se aplique correctamente, digo has podido debugear la aplicacion y pasar por le sentencia sql para verificar como queda antes de ser ejecutada ?


    saludos

    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    miércoles, 19 de agosto de 2009 12:47
  • Hola:

    ¿Seguro que el error se debe a que el número tiene más de dos decimales?

    Es muy raro lo que nos estás comentando, porque si el campo de la base de Access está definido como Decimal, y su escala es de 2, digo yo que te admitirá únicamente los dos primeros decimales que le hayas indicado, aunque le hayas pasado un número con 28 decimales. :-)

    > ENTONCES CUANDO VOY A GUARDAR LOS DATOS POR MEDIO DEL LENGUAJE VB6

    Te hago saber que este grupo es de Visual Basic .NET. Para consultas del lenguaje Visual Basic 5.0 y 6.0, mejor será que las efectúes en el grupo apropiado, si así lo crees oportuno, claro está:

    http://social.msdn.microsoft.com/Forums/es-ES/vb56es/threads

    Un saludo


    Enrique Martínez [MS MVP - VB]
    miércoles, 19 de agosto de 2009 14:45
  • Tengo una base de datos ACCESS declarado un campo tipo "Número" "Tamaño del campo: Doble" y con "Lugares decimales: 2" y entran todos los decimales que le meta el insert...
    yo creo que si quiere usar sólo dos decimales, lo más apropiado sería preformatearla en la entrada :p

    miércoles, 19 de agosto de 2009 14:58
  • "Gonzalo1987" escribió:

    > Tengo una base de datos ACCESS declarado un campo tipo "Número"
    > "Tamaño del campo: Doble" y con "Lugares decimales: 2" y entran
    > todos los decimales que le meta el insert...

    Hola:

    Pero si tienes así definido el campo, entonces ese campo NO ES DECIMAL; es un campo numérico de punto flotante.

    Para definirlo como DECIMAL en Access, en tamaño del campo tienes que indicar Decimal, y como Escala 2, para que sólo acepte dos dígitos a la derecha del separador decimal.

    > yo creo que si quiere usar sólo dos decimales, lo más apropiado sería preformatearla en la entrada

    ¡Hombre! Si el campo está definido como Decimal, yo entiendo que sólo aceptará el número de decimales que haya definido como escala, sin necesidad de formatear la entrada.

    Un saludo

    Enrique Martínez [MS MVP - VB]
    miércoles, 19 de agosto de 2009 15:21