none
Como actualizo esto.... RRS feed

  • Pregunta

  • Hola Amigos,

    Estoy creando un sistema de cotizacion de muebles donde registro el costo de madera,mano de obra y materiales.Tengo una tabla para cada uno de esos costos (DetalleCotizacionMadera,DetalleCotizacionMateriales,DetalleCotizacionManoObra) .Tengo una tabla de Materiales donde registro la descripcion y el precio de dicho material.

    Lo que quiero hacer es que cuando el costo del material suba entonces uno actualiza el precio del material al nuevo precio y el sistema busque todas las cotizaciones donde lleva este material y lo actualize automaticamente.

    Si por ejemplo el galon de "Sealer" subio 100 pesos entonces el programa busque todas las cotizaciones donde el producto lleva "Sealer" y lo actualize con su precio actual.Asi puedo llevar las cotizaciones al dia y asi podre tener el costo del producto relevante a la fecha actual.

    Ya he actualizado perfectamente la tabla DetalleCotizacionMateriales pero no tengo idea de como actulizar la tabla CotizacionProductos.

    Por ejemplo, Si el costo de la "Silla Flor" es de  $1200 y el "Sealer" subio de $600 a $800 el galon y este producto lleva 1 galon de "Sealer" entonces el costo nuevo es de $1400.

    Aqui esta el form donde busco el material y le actualizo el precio.En el datagrid aparacen todos los productos que llevan este material.Y le digo al presionar el boton "Actualizar":

     1. Actualizo el Precio del Material.
            ComandoActualizar = "Update Materiales set PrecioUnidad=Val('" & Me.TxtPrecio.Text & "')where CodigoMaterial=val(" & Me.TxtCodigoMaterial.Text & ")"
            comando = New OleDbCommand(ComandoActualizar, conexion)
            comando.ExecuteNonQuery()


     2. Actualizo el Precio del Material en los Detalles de Materiales.
            ComandoActualizar = "Update DetalleCotizacionMateriales set Precio=Val('" & Me.TxtPrecio.Text & "')where CodigoMaterial=val(" &    Me.TxtCodigoMaterial.Text & ")"
            comando = New OleDbCommand(ComandoActualizar, conexion)
            comando.ExecuteNonQuery()

     3. Actualizo el subtotal de los Detalles de Materiales.
            For I = 0 To Me.DGVMateriales.RowCount - 1
                ComandoBuscar = "Update DetalleCotizacionMateriales set Subtotal=Cantidad*Precio where CodigoMaterial=val(" & Me.DGVMateriales.Rows(I).Cells(3).Value & ")"
                comando = New OleDbCommand(ComandoBuscar, conexion)
                comando.ExecuteNonQuery()
            Next I

    4. Actualizo el costo de producto.(Esta parte es la que no se como hacerle el Update)

    martes, 12 de febrero de 2013 18:06

Todas las respuestas

  • cambia tus tablas y no te metas en tanto lio
    AGREGA

    DetalleCotizacionMadera
    id_precios

    DetalleCotizacionMateriales
    id_precios

    DetalleCotizacionManoObra
    id_precios

    PRECIOS
    id_precios
    id_articulo
    costo
    pventa
    fecha

    cuando abras tu form actualiza multiplicando las unidades por el id del precio con la fecha mas reciente del id del articulo donde no este bloqueado, ya que si concretas una cotizacion pues no debes modificarla.
    Con esto reduces los lugares donde tienes que actualizar, menos errores y menos recursos.

    Espero sea de tu ayuda.

    martes, 12 de febrero de 2013 19:38
  • No entiendo lo que planteas.No puedo poner ID_precios en cada tabla por que cada una tiene datos diferentes.DetalleCotizacionMadera tiene datos diferentes a las otras dos tablas.
    miércoles, 13 de febrero de 2013 3:03
  • si lo que comprendo es que quieres actualizar todas las tablas donde este x articulo que le quieres cambiar el costo, o el precio, SE QUE EN TODAS LAS TABLAS TIENES CAMPOS DIFERENTES pero todas la tablas apuntalas a una sola donde se actalice los precios como comentas, analiza lo que te estoy propiniendo y veras que te facilitaras la vida ;)

    Espero sea de tu ayuda

    miércoles, 13 de febrero de 2013 16:01