Detalhes: Banco = Materiais.mdb
Tabela: Baixas
Filds = Saida - Saldo - Data - Codigo
Tabela : Entrada
Filds = Entrada - Data1 - Codigo1
Tabela : Localizacao
Filds = Código - Descricao - Quantidade - Unitario
Quando cadastro um material jogo tudo primeiramente na Tabela Localizacao
Quando efetuo uma baixa quardo na Tabela baixa e entradas na Tabela Entrada
Seguinte: Preciso buscar o valor total em R$ do meu estoque basendo-se no saldo de cada intem conforme a rotina abaixo:
Private Sub CmdBusca_Click()
Dim Sql As String
Dim Val As String
Dim Com As String
Sql = "SELECT * FROM Baixas WHERE Codigo like '*" & TxtBusca.Text & "*'"
Set tbOs2 = bdMat2.OpenRecordset(Sql)
Val = "SELECT Quantidade, Unitario FROM Localizacao WHERE Código = '" & TxtBusca.Text & "'"
Set tbOs3 = bdMat2.OpenRecordset(Val)
Com = "SELECT sum(Localizacao.Unitario * Baixas.saldo)AS [VEstoque] FROM Localizacao INNER JOIN Materiais ON Localizacao.Código = Baixas.Codigo"
If tbOs2.RecordCount = 0 Then
DbList_3.Clear
Else
DbList_3.Clear
tbOs2.MoveMax
tbOs2.MoveMin
Dim i, J
i = 0
J = 1
Do Until tbOs2.EOF
DbList_3.AddItem Alinha(Format(tbOs2("Codigo"), "000000"), 6, "ESQ")
DbList_3.List(i, 1) = tbOs2("Saida")
DbList_3.List(i, 2) = tbOs2("Data")
DbList_3.List(i, 3) = tbOs2("Req")
DbList_3.List(i, 4) = Alinha(tbOs2("OS"), 10, "DIR")
i = i + 1
a = a + CDbl(tbOs2("Saida"))
tbOs2.MoveNext
Loop
End If
Dim VEstoque As Double
Do While Not tbOs2.EOF Or tbOs3.EOF
VEstoque = tbOs2!Saldo * tbOs3!Unitario
tbOs2.MoveNext
tbOs3.MoveNext
Loop
Lbsaida = ValStr(CStr(a))
Lb_Entrada = ValStr(tbOs3!Quantidade)
LbSaldo = tbOs3!Quantidade - ValStr(Lbsaida)
LbV_Entrada = ValStr(tbOs3!Quantidade) * ValStr(tbOs3!Unitario)
LbV_Saida = ValStr(Lbsaida) * ValStr(tbOs3!Unitario)
LbV_Saldo = ValStr(LbSaldo) * ValStr(tbOs3!Unitario)
LbV_Saldo = Format(LbV_Saldo.Caption, "#,###,##0.00")
LbV_Saida = Format(LbV_Saida.Caption, "#,###,##0.00")
LbV_Entrada = Format(LbV_Entrada.Caption, "#,###,##0.00")
LbTotal.Caption = Format(VEstoque, "#,##0.00")
TxtBusca.Text = ""
TxtBusca.SetFocus
End Sub
Private Sub CommandButton1_Click()
Unload Me
End Sub
Private Sub UserForm_Initialize()
Call BarraTítuloUserForm(False)
Set bdMat2 = OpenDatabase("C:EstoqueMateriais.mdb")
Set tbOs2 = bdMat2.OpenRecordset("Baixas", dbOpenTable)
''Set tbOs3 = bdMat2.OpenRecordset("Localizacao", dbOpenTable)
Me.DbList_3.ColumnCount = 5
Me.Frame1.Caption = "Entre com o código"
TxtBusca.SetFocus
End Sub
O LbTotal carrega sempre com 0,00 não somando.