Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Elias Sabbag

[Resolvido] Erro 3078 em uma função

Recommended Posts

Boa tarde.

 

Tenho a seguinte função:

 

Public Function AtualizaTotSaldo()

 

Dim tb As Recordset

Set tb = CurrentDb.OpenRecordset("SELECT controle, CodContrib, ddata, MES, CFOP, NumEnt, QdeEnt, VlrtotBCSTEnt, NumSai, QdeSai, VlrUnitSai, VlrBCSTSai, QdeSaldo, QdeSaldoAnt, VlrUnitSaldo, VlrUnitSaldoAnt, TotalSaldo, TotalSaldoAnt FROM tbcontroledeestoque ORDER BY CodContrib, ddata, cfop, NumEnt, NumSai;")

 

Dim prod As String

Dim tsaldo As Double

Dim vlus As Double

Dim vbcs As Double

Dim VlrUnitSaldo As Double

Dim controle As String

Dim CodContrib As String

 

Forms!FrmImportar1!txtMensagem = "Atualizando Total Saldo.............."

Do While Not tb.EOF

prod = tb!CodContrib

tsaldo = Nz(tb!TotalSaldoAnt)

vlus = Nz(tb!VlrUnitSaldoAnt)

vbcs = 0

Do While tb!CodContrib = prod

tb.Edit

tb!VlrBCSTSai = tb!QdeSai * vlus

tb!TotalSaldo = tsaldo Nz(tb!VlrtotBCSTEnt, 0) - Nz(tb!VlrBCSTSai, 0)

If tb!QdeSaldo <> 0 Then

tb!VlrUnitSaldo = tb!TotalSaldo / tb!QdeSaldo

Else: tb!VlrUnitSaldo = 0

End If

tb!VlrUnitSai = vlus

tb.Update

tsaldo = tb!TotalSaldo

vlus = DLookup("[VlrUnitSaldo]", "[tb]", "[controle] >='" & [controle] & "'") ' o erro é aqui

tb.MoveNext

If tb.EOF Then Exit Do

Loop

Loop

tb.Close

 

Forms!FrmImportar1!txtMensagem = "Atualizada tbcontroledeestoque "

 

End Function

 

Quando mando executar dá o seguinte erro:

 

Erro em tempo de execução '3078':

O mecanismo de banco de dados do Microsoft Acess não pode

localizar a tabela de entrada ou consulta 'tb'. Verifique se ela existe e

se o nome foi digitado corretamente.

 

Quando mando depurar ela realça a linha

vlus = DLookup("[VlrUnitSaldo]", "[tb]", "[controle] >='" & [controle] & "'") '

 

Esse valor é o valor do registro anterior do campo VlrUnitSaldo e tb é a consulta criada no inicio da função.

Por favor alguém poderia me dar uma ajuda nesse problema, ou se houver uma outra maneira de eu pegar esse valor por favor me ensinem.

Grato

Elias.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.