Números decimales en formulario y suma |
Responder |
Autor | |
Manu Marquez
Nuevo Unido: 28/Julio/2011 Localización: España Estado: Sin conexión Puntos: 21 |
Opciones de entrada
Gracias(0)
Enviado: 11/Junio/2021 a las 12:28 |
Buenos dias.
A ver si me podéis ayudar. Tengo una tabla "Artículos" con varios campos numéricos que tengo con tipo de dato Doble, formato Estandar y decimales 2. Basada en esta tabla he generado una consulta "qArtículos" para que me haga los cálculos necesarios para obtener Coste, PVP y Mensualidad. Después y basada en esta consulta, genero otra "qPrecios" donde incluyo sólo los campos que necesito para mi formulario. En ambas consultas, los campos numéricos los tengo con formato Estándar y decimales 2. El formulario es para generar artículos compuestos, por lo que he creado 12 combos independientes para configurar el artículo compuesto basado en la consulta "qPrecios". Obtengo todos los datos que necesito, pero los campos numéricos me los devuelve sin formato y con distintos número de decimales. Y este es uno de los problemas, que no soy capaz de que me los presente a dos decimales siempre. Y el otro problema que no soluciono es que no consigo sumar los distintos precios de cada componente para obtener el del artículo compuesto. Por ejemplo, en la tabla artículos tengo pantalón, camisa, chaqueta y corbata, en el formulario los introduzco uno en cada combo y obtengo los datos de Coste, PVP y Mensualidad, pero no se como sumar el artículo compuesto, el traje. Gracias por vuestra ayuda!! Saludos. |
|
emiliove
Administrador Unido: 16/Junio/2009 Localización: Mexico Estado: Sin conexión Puntos: 5694 |
Opciones de entrada
Gracias(0)
|
Yo para manejar decimales uso una función hay varia por aquí, solo tienes que buscarlas yo uso esta:
Public Function Round(value As Variant, Decimals As Integer) If Decimals >= 0 Then Round = Int(value * Decimals + 0.5) / Decimals End If End Function Para usarla: Round(NombreControl, 100) 'para dos decimales, 1000 para tres, etc. En cuanto a sumar si en cada combos tienes en una columna el precio, es fácil, supongamos que tienes en la columna tres el precio, solo tienes que sumar: Combo1.Column(2)+Combo2.Column(2)+Combo3.Column(2)Combo4.Column(2) Esa es para mi la forma mas fácil pero también puedes obtener el precio con un Dlookup Saludos.
|
|
lunasoft
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
Habitual Unido: 04/Noviembre/2014 Localización: Graz Estado: Sin conexión Puntos: 100 |
Opciones de entrada
Gracias(0)
|
Hola
Respecto al formato también puedes utilizar format(elCampoQueSea, "###00.00") y para la suma coincido con el gran EMILIO |
|
Juanjo Luna (Lunasoft)
Microsoft MVP 2023 ---------------- https://www.luna-soft.es/ https://www.youtube.com/ACCESSoTOTAL https://github.com/ACCESSoTOTAL |
|
Manu Marquez
Nuevo Unido: 28/Julio/2011 Localización: España Estado: Sin conexión Puntos: 21 |
Opciones de entrada
Gracias(0)
|
Buenas tardes.
Tendría que haber comentado que no controlo VB, lo que hago en access es directamente en las propiedades del control. Me obligaré a estudiar VB. En cuanto a la suma propuesta por Emilio ya lo había intentado con los nombre de los campos. Le intento con las columnas del Combo y el resultado es el mismo, aparecen un resultado en forma de texto que lo que hace es unirme las distintas cantidades a sumar (118260,1172586,77,45681...) Y en cuanto al formato propuesto por Lunasoft, introducirlo se me cambia automáticamente a 0.000. Sigo pensando y buscando hasta que aprenda!!! Y por supuesto, gracias por vuestras respuestas.
|
|
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: 14023 |
Opciones de entrada
Gracias(0)
|
Manu,
Si no pones lo que haces no podremos corregirte sobre tus 'errores'. Aquí de adivinos nada, hace muuuuucho tiempo un tal Emilio tenía una bola de cristal, pero tampoco creas que furulaba demasiado. Ahora en serio, por tus intentos, porque con la mera enumeración no vamos a ningún sitio ...
|
|
Manu Marquez
Nuevo Unido: 28/Julio/2011 Localización: España Estado: Sin conexión Puntos: 21 |
Opciones de entrada
Gracias(0)
|
Buenas tardes Mihura.
Trato de explicar lo que quiero hacer. Partiendo de una tabla "Artículos" con distintos registros genéricos (servicio, nodos, sensores aire, sensores tierra, etc), trato de hacer un configurador de artículos compuestos y que realmente es el motivo del formulario (cuando pase este curso comienzo el del informe). He generado una primera consulta de selección "qArtículos" donde hago los cálculos según las condiciones (descuentos, márgenes, etc) y basada en esta primera consulta he creado otra consulta de selección "qPrecios" que es de la que se alimenta el formulario. Como no tengo necesidad de guardar nada, es un formulario consultivo, lo he creado con 12 combos independientes con las columnas "Referencia" (es el combo propiamente dicho), Descripción (columna 1), Coste, (columna 2), PVP (columna 3) y Mes (columna 4). Al seleccionar en el combo 1 la referencia "4", ya me indica la descripción, el coste, PVP y Mes de ese artículo, y así sucesivamente en los 11 combos restantes (no tiene por qué cumplimentarse todos). Y lo que no soy capaz de solucionar es que sólo me aparezcan cantidades con 2 decimales y que en un cuadro de texto final me sume los importes de los distintos artículos que componen el compuesto. Adjunto imagen para mayor claridad. Graciasss!! |
|
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: 14023 |
Opciones de entrada
Gracias(0)
|
Sigues sin poner como lo haces ...
|
|
Manu Marquez
Nuevo Unido: 28/Julio/2011 Localización: España Estado: Sin conexión Puntos: 21 |
Opciones de entrada
Gracias(0)
|
Buenos dias Jesús
Supongo que lo que necesitarás para ver mis errores será la construcción de las consultas. La primera "qArtículos" es: SELECT Artículos.Id_Artículo, Artículos.Id_Proveedor, Artículos.Referencia, Artículos.Descripción, Artículos.Amortización, Artículos.PrecioTarifa, Artículos.Descuento, Artículos.MargeniG4, [PrecioTarifa]-([PrecioTarifa]*[Descuento]) AS Coste, ([PrecioTarifa]-([PrecioTarifa]*[Descuento]))+(([PrecioTarifa]-([PrecioTarifa]*[Descuento]))*[MargeniG4]) AS PVP, (([PrecioTarifa]-([PrecioTarifa]*[Descuento]))+(([PrecioTarifa]-([PrecioTarifa]*[Descuento]))*[MargeniG4]))/[Amortización] AS Mes FROM Artículos; La segunda consulta, "qPrecios" es: SELECT qArtículos.Referencia, qArtículos.Descripción, qArtículos.Coste, qArtículos.PVP, qArtículos.Mes FROM qArtículos; Y desde esta consulta es de donde saco los datos para los distintos combos del formulario: Origen de la fila: qPrecios; Tipo de origen de la fila: Tabla/Consulta; Columna dependiente: 1 Espero ser ahora más explícito. Gracias por tu tiempo! |
|
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: 14023 |
Opciones de entrada
Gracias(0)
|
Por partes, como diría el amigo Jack.
Para presentar los resultados con 'formato' en los combos tienes dos maneras: - aplicas formato en la consulta, cosa que no te recomiendo en lo más mínimo, te traerá problemas en el futuro: ..... , Format([PrecioTarifa]-([PrecioTarifa]*[Descuento]), "#.##0,00") - en vez de aplicar la consulta al combo, creas una SQL en el origen de datos del combo que coja los datos de esa consulta y les das formato: ......, Format(Coste, "#.##0,00") - también podrías usar subformularios en vez de combos, en estos los campos si que tienen formato propio, ... a mi no me gusta usarlos El siguiente paso es sumar los resultados: - si 'tiras' de un campo de un combo, lo primero tendrás que convertirlo a numero (con un Cdbl o CCur) ya que las columnas del combo son textos y después sumarlos - así que, yo usaría otra consulta para realizar los cálculos Pero, consejo de viejo, paso a paso. Primero cuadra formatos y una vez que los tengas vete a por las sumas. |
|
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 |