Multiplicar por valor todos los registros de un campo

Me gustaría saber cómo puedo multiplicar el valor de todos los registros de un campo de una tabla por un número diferente cada vez.
Lo estaba haciendo mediante una macro con la acción establecer valor así:
Argumento expresión de EstablecerValor: [Formularios]! ["NombreFormulario"]! [NombreCampo]*1,2
Pero necesito que el coeficiente por el que multiplique (1,2 en el ejemplo anterior) me lo pida.

1 respuesta

Respuesta
1
Veamos, te pido realices esto paso a paso:
1. Crea un formulario independiente y en vista diseño:
Crea un cuadro de texto y en sus propiedades, en la ficha formato asigna el adecuado para los números (como Estándar y número de decimales, por ejemplo) Luego en la ficha Otros en Nombre llámalo txtCoeficiente
Guarda el formulario con el nombre frmCoeficiente
2. Crea una consulta sencilla y agrega los campos que quieres multiplicar. Supongamos que son tres y se llaman num1, num2 y num3.
En vista diseño de esta consulta en un nuevo campo, crea esta expresión:
Cálculo: [num1]*[num2]*[num3]*[Formularios]![frmCoeficiente]![txtCoeficiente]
Guarda la consulta con el nombre consCálculo
3. Por último en el formulario llamado frmCoeficiente en vista diseño:
Crea un botón de comando. Si te sale el asistente cancélalo. En propiedades del botón en la ficha Otros en Nombre lo llamas ctrCalcular
En la ficha Evento en Al hacer clic pones:
If (txtCoeficiente = "") Then
            Beep
            MsgBox "Ingrese al menos un número para calcular.", vbExclamation, "Error de cálculo"
            DoCmd.GoToControl "txtCoeficiente"
        ElseIf (IsNull(txtCoeficiente)) Then
            Beep
            MsgBox "Ingrese al menos un número para calcular.", vbExclamation, "Error de cálculo"
            DoCmd.GoToControl "txtCoeficiente"
        Else
            DoCmd.OpenQuery "consCálculo", acViewNormal, acEdit
        End If

Listo!
Al abrir el formulario, tendrás el cuadro de texto para ingresar el número que quieras. Al hacer clic en el botón, se ejecutará la consulta con el campo calculado.
Además si el usuario no pone un número, se le pedirá que lo ingrese.
Aplícalo a tu base de datos. Yo le he probado con éxito.
Si sólo vas a utilizar un sólo campo en la expresión de la columna cambia por esta:
Cálculo: [num1]*[Formularios]![frmCoeficiente]![txtCoeficiente]
Donde num1 es el nombre del campo que se multiplicará con el coeficiente del formulario.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas