Igualdad de Valores en Tabla

El presente mensaje es para pedir su ayuda con el siguiente caso que tengo en una tabla de valores, en la empresa que trabajo bajo unos planos y los monto en access me di cuenta que la multiplicación de cantidad con valor unitario no coincide con el valor total, como el valor total no se puede alterar por que se descuadra la factura entonces de que modo realizo una consulta donde me iguale el valor total a valor unitario con una cantidad de 1 siempre?, solo a los valores que no coincidan con la multiplicacion por que no todos los registros tiene el mismo problema.

2 Respuestas

Respuesta
1
UPDATE Tab3 SET Cantidad = 1, ValorUnitario = ValorTotal
WHERE Id IN
(SELECT Id FROM Tab3 WHERE (Cantidad*ValorUnitario)<>ValorTotal);

Acuérdate de hacer una copia de tus datos antes de probarlo ...

Respuesta
2

Haz una consulta con la tabla en cuestión según la imagen

Pones los campos como en la imagen. En la parte gris haces clic con el botón derecho del ratón y eliges-Tipo de consulta-De actualización. En Actualizar a pones lo de la imagen y debajo de Cantidad pones 1. Luego en la barras de opciones pulsas ejecutar, o bien la cierras y al abrirla te dirá lo del mensaje. Aceptas y listo

En el caso de que quisieras que en aquellos registros en que no coincida el producto valorunitario*cantidad=valorTotal y que en valorunitario te pusiera el valortotal y en Cantidad te ponga 1 podrías hacer un formulario con origen en la tabla( da igual si es único o continuo) y le pones un botón de comando y en sus propiedades-eventos-Al hacer clic, creas un procedimiento de evento y entre Private Sub y End Sub escribe

DoCmd.SetWarnings False
DoCmd.GoToRecord , , acFirst
Dim i As Integer
For i = 1 To Form.Recordset.RecordCount
DoCmd.RunSQL "update clientes set valorunitario= " & Me.ValorTotal & ", cantidad=1 where valortotal<>valorunitario*cantidad"
DoCmd.GoToRecord , , acNext
Next

Esto lo que hace es ir recorriendo los registros, y en aquellos en que no coincida el producto valorunitario por cantidad con ValorTotal te actualiza ValorUnitario a ValorTotal y Cantidad=1

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas