Error al realizar consulta de saldos usando sql
Acudo a ustedes por que no encuentro la manera de solucionar este inconveniente, resulta que hago una consulta SQL para determinar el saldo de unos productos y efectivamente me da el saldo pero errado, por ejemplo el producto huevos tiene un iventario inicial de 100 y 2 entradas de 5 unidades cada uno por lo que el saldo del producto es 110 pero el reporte me dice que son 120 es como si me tomara las 2 entradas de 5 doblemente y por eso me da 20, en la salida tengo 2 salidas de 10 unidades cada una pero el reporte me dice que es 40 cuando debe ser 20 otra vez se duplica las salidas, y no se como arreglar esto, aquí dejo el código que hace la consulta que esta en el módulo consultar_RP:
Private Sub Inventario()
Set Rs = New ADODB.Recordset
Sql = "SELECT p.id,R.CODIGO,P.ARTICULO,SUM(E.CANTIDAD)+ p.[INV INICIAL] AS ENTRADA,SUM(S.CANT)AS SALIDA,ENTRADA-SALIDA AS SALDO FROM" & _
" (([PRODUCTOS$]P INNER JOIN [MOVENTRADA$]E" & _
" ON P.ID=E.ID_P) INNER JOIN [MOVSALIDAS$]S ON P.ID=S.ID_P) INNER JOIN [REG$]R ON P.ID=R.ID_P" & _
" GROUP BY p.id,R.CODIGO,P.ARTICULO,p.[INV INICIAL] "
Rs.Open Sql, Cnn, 1, 1
End Sub
Sub Inventario_R()
Call Inventario
With Hoja11
If Rs.RecordCount > 0 Then
For i = 0 To Rs.Fields.Count - 1
.Cells(4, 7 + i) = Rs.Fields(i).Name
Next i
.Cells(5, 7).CopyFromRecordset Rs
End If
End With
Rs.Close
Set Rs = Nothing
End Sub
y aqui dejo el archivo para que lo analicen porfavor,espero me hayan entendido
https://drive.google.com/file/d/13EfMqCvvG4cmAEeC_-P2D7f8_nE1ZrIk/view?usp=sharing