Actualizar tabla stock con resultado de calculo en varias tablas DAO Access

Y gracias por sus respuestas y colaboración en este empeño!
' La necesidad: Realizar una consolidación del inventario basado en el inventario inicial, restar las cantidades de producto facturadas a clientes, sumar las cantidades de producto compradas a proveedor y el resultado actualizarlo en la tabla de stock Actual, todo esto usando DAO
Las tablas...
' F_CIN  : Tabla en la que se ingresó el inventario inicial (Consolidación) Campo del código del articulo: ARTCIN
' F_LFA  : Tabla con las líneas de la facturas de VENTA Campo del código del artículo : ARTLFA
' F_LFR  : Tabla con las líneas de la facturas de COMPRA Campo del código del artículo : ARTLFR
' F_STO  : Tabla con el inventario actual. Campo del código artículo : ARTSTO
' ---------------
' 0. Estoy intentando: leer cada registro del articulo en tabla del inventario inicial (F_CIN!ARTCIN) y las cantidades ingresadas en dicha tabla en el campo (URECIN) y luego...
' 1. SUMARLE las cantidades (Campo: CANLFR) de cada articulo en la tabla de compras (F_LFR!ARTLFR)
' 2. RESTARLE las cantidades (Campo: CANLFA) de cada articulo en la tabla de ventas (F_LFA!ARTLFA)
' 3. EDITAR los valores en la tabla de stock (F_STO!ARTSTO) en el campo ACTSO (Numérico) con el resultado de las operaciones 0 - 3 . He intentado con consultas y ahora me decanto por dao.recordset asi:

Sub ConsolidarPrueba()
On Error GoTo ErrHand

Dim DB As DAO.Database
Dim RsCIN, RsSTO, RsLFA, RsLFR As DAO.Recordset
Dim SqlLFA, SqlLFR, SqlCIN, SqlSTO As String

Set DB = CurrentDb()
Set RsCIN = DB.OpenRecordset("F_CIN", dbOpenDynaset)

' las lineas de las facturas de venta
SqlLFA = "SELECT F_LFA.TIPLFA, F_LFA.CODLFA, F_LFA.ARTLFA, F_CIN.ARTCIN, F_LFA.CANLFA " & vbCrLf & _
"FROM F_LFA INNER JOIN F_CIN ON F_LFA.ARTLFA = F_CIN.ARTCIN " & vbCrLf & _
"ORDER BY F_LFA.TIPLFA, F_LFA.CODLFA, F_LFA.ARTLFA;"

Set RsLFA = DB.OpenRecordset(SqlLFA, dbOpenDynaset)
Set RsLFR = DB.OpenRecordset("F_LFR", dbOpenDynaset)

' Inicio Leyendo los registro en las líneas de facturas de venta
Dim vCalculo As Double
RsLFA.MoveFirst
Do While Not RsLFA.EOF
    vCalculo = RsCIN!URECIN - RsLFA!CANLFA + RsLFR!CANLFR
    ' Disculpadme si no hay mas código aquí, pero lo he borrado decenas de veces
    ' Agradezco vuestra ayuda... Estoy bloqueado!!!
'    Debug.Print "Producto FFAC : " & RsLFA!ARTLFA & " - CANLFA: " & RsLFA!CANLFA
'    Debug.Print vCalculo
    RsLFA.MoveNext
Loop
   

ExitSub:
RsCIN. Close
RsSTO. Close
RsLFA. Close
RsLFR. Close
Set RsCIN = Nothing
Set RsLFA = Nothing
Set RsLFR = Nothing
Set RsSTO = Nothing
Set DB = Nothing
Exit Sub

ErrHand:
Resume ExitSub

End Sub

1 Respuesta

Respuesta
1

Es mucho más sencillo que eso. Si quieres, repito, si quieres, mándame un mensaje (sólo el mensaje) a [email protected] y te mando un ejemplo. Si lo haces, en el asunto del mensaje pon tu alias Rodrigo Arias, ya que si no sé quien me escribe ni los abro.

¡Gracias! Te envío el mensaje en unos minutos! Gracias

Hola Icue y gracias por tu respuesta, te envié información a tu correo me podrías confirmar? Gracias de nuevo.

Recibida, me pongo a analizarla.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas