** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - Formato número
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradoFormato número

 Responder Responder
Autor
Mensaje
Nomada Ver desplegable
Colaborador
Colaborador


Unido: 03/Julio/2011
Localización: España
Estado: Sin conexión
Puntos: 1719
Enlace directo a este mensaje Tema: Formato número
    Enviado: 21/Mayo/2019 a las 11:50
Buenas.
Tengo un formulario con un campo numérico y dos decimales (CampoAAA), además claro está de otros campos. Con el código de CartasWord de Neckkito creo en Word mi carta. Hasta aquí todo perfecto.
Pero si el campo numérico tiene como valor 372,10, en el documento de Word me aparece 372,1. No me muestra los 2 decimales cuando termina en cero.
En el código donde se rellenan los marcadores de Word he escrito el código:

.Item("WImporte").Range.Text = Format(CampoAAA, "#.##0,##")

Aquí el resultado es 372,1000
Si le quito los decimales en el formato el resultado es 372,1 y yo quiero que muestre 372,10

Alguna sugerencia?

Gracias y un saludo.

Arriba
mounir Ver desplegable
Colaborador
Colaborador


Unido: 09/Febrero/2009
Localización: Asturias-España
Estado: Sin conexión
Puntos: 6479
Enlace directo a este mensaje Enviado: 21/Mayo/2019 a las 12:23
Hola!

Prueba así:


Item("WImporte").Range.Text = Format(CampoAAA, "#.##0,#0") o así

Item("WImporte").Range.Text = Format(CampoAAA, "#.##0,00")

de esta forma se convierte en Estándar.
Un Saludo.
Arriba
VIMIPAS Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 06/Enero/2006
Localización: ESPAÑA
Estado: Sin conexión
Puntos: 5462
Enlace directo a este mensaje Enviado: 21/Mayo/2019 a las 12:26
Buenos días.

Acabo de crear una tabla para tratar de emular tu ejemplo y estos son los registros que he creado:

PARAnomada
WImporte
1.235,60
1.125,98
623,15
23.565,33
372,10
372,60
372,55
372,90

De entrada debo añadir que el campo que he creado (WImporte) es numérico, en Tamaño de campo he puesto que sea Doble, en Formato he puesto que sea Estándar y en Lugares decimales he puesto que sea 2.

La primera pregunta es: ¿tu lo tienes igual?
La segunda pregunta es: ¿O solo ocurre cuando lo traspasas a Word? (yo no lo he traspaso a Word, de momento no sé y no me interesa aprender, por ahora).

Ya me dirás.

Saludos.


Editado por VIMIPAS - 21/Mayo/2019 a las 12:28
Gracias
Arriba
Nomada Ver desplegable
Colaborador
Colaborador


Unido: 03/Julio/2011
Localización: España
Estado: Sin conexión
Puntos: 1719
Enlace directo a este mensaje Enviado: 21/Mayo/2019 a las 14:21
Gracias Vimipas.
He probado con los siguientes formatos y el resultado es:
Formato #.##0,#0 = 372,10000
Formato #.##0,00 = 372,10000
Formato #.##0,## = 372,100
Formato #.###,## = 372,1

En el formulario aparece bien, pero al pasarlo a Word no muestra el dato bien. Sin embargo si la cantidad fuera 372,35 si lo muestra bien.
Arriba
lbauluz Ver desplegable
Administrador
Administrador
Avatar

Unido: 29/Marzo/2005
Localización: La Gloria
Estado: Sin conexión
Puntos: 3849
Enlace directo a este mensaje Enviado: 21/Mayo/2019 a las 15:21
Muy buenas Nomada:

Cambia los puntos por comas y las comas por puntos y prueba

me temo que el VBA esta en guiri :) (como mi teclado y por eso no tengo acentos)

Luis
El Búho es un pajarraco
Arriba
VIMIPAS Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 06/Enero/2006
Localización: ESPAÑA
Estado: Sin conexión
Puntos: 5462
Enlace directo a este mensaje Enviado: 21/Mayo/2019 a las 15:23
Hola de nuevo.

Al margen de la prueba que te indica Luis.... 

Tu hablas de Formatos que pones, yo he hablado de que en la tabla he puesto tal y cual.... pero en la tabla, en ningún otro sitio. De ahí las dos preguntas que he hecho y que no has contestado a ninguna, por ello, reitero mis dos preguntas.

Saludos.
Gracias
Arriba
Nomada Ver desplegable
Colaborador
Colaborador


Unido: 03/Julio/2011
Localización: España
Estado: Sin conexión
Puntos: 1719
Enlace directo a este mensaje Enviado: 21/Mayo/2019 a las 19:37
A la primera pregunta: si tengo todas las características igual, sí las tengo igual en la tabla. Y la segunda solo ocurre cuando lo paso a Word
Arriba
fcoval Ver desplegable
Asiduo
Asiduo


Unido: 19/Enero/2013
Estado: Sin conexión
Puntos: 225
Enlace directo a este mensaje Enviado: 21/Mayo/2019 a las 20:35
A mi se me ocurre que si en Access logras tener ese valor con dos decimales y lo que quieres es pasarlo a Word, prueba a pasarle a Word dicho valor numérico pero antes convertido a String.


Usa la función CStr.

Cita
CStr(Format(CampoAAA, "#,##0.00"))


Editado por fcoval - 21/Mayo/2019 a las 20:41
Arriba
VIMIPAS Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 06/Enero/2006
Localización: ESPAÑA
Estado: Sin conexión
Puntos: 5462
Enlace directo a este mensaje Enviado: 21/Mayo/2019 a las 22:26
Hola de nuevo.

El apunte de fcoval me parece perfecto pero con un pequeñísimo matiz que lo arreglaría todo:

Tengo en la tabla 372,10 pues muy bien, me vale, pero si lo paso a Word con  Cstr(WImporte)

¿Como quedaría en Word nomada?.

Puedes comprobarlo y nos dices.

Saludos.
Gracias
Arriba
Nomada Ver desplegable
Colaborador
Colaborador


Unido: 03/Julio/2011
Localización: España
Estado: Sin conexión
Puntos: 1719
Enlace directo a este mensaje Enviado: 24/Mayo/2019 a las 07:44
Perfecto fcoval, el dato en Word ha salido como estaba en el campo de Access 372,10.

Este hilo se puede cerrar satisfactoriamente.

Gracias a todos y un saludo.


Editado por Nomada - 24/Mayo/2019 a las 07:50
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable