Aew pessoal, é o seguinte. Eu tenho um formulário de vendas e um botão de "realizar venda". Esse botão deve atualizar as tabelas de produto, de finanças e de vendas de acordo com os produtos que serão vendidos, os quais estão numa flexgrid(fgrProdutos).
Eu já tinha adicionado um adodc3, o qual continha os dados da tabela de Produtos da loja. Era através desse adodc que o botão atualizava a tabela de produtos, e funcionava perfeitamente. Então eu adicionei um adodc1 para atualizar a tabela de finanças, e no botão de realizar venda, coloquei o seguinte codigo:
Private Sub cmdBaixar_Click()
If fgrProdutos.Rows > 2 Then
'Esta parte apenas subtrai do estoque a quantidade de unidades vendidas de cada produto
For aux = 1 To fgrProdutos.Rows - 2
fgrProdutos.Row = aux
Adodc3.Recordset.Find ("cod_produto=") & Val(fgrProdutos.TextMatrix(aux, 0)), , , 1
Adodc3.Recordset!estoq_produto = Val(Adodc3.Recordset!estoq_produto) - Val(fgrProdutos.TextMatrix(aux, 3))
Adodc3.Recordset.Update
Next
Adodc3.Recordset.MoveFirst
'Esta parte atualiza a tabela de finanças
For aux = 1 To fgrProdutos.Rows - 2
fgrProdutos.Row = aux
Adodc3.Recordset.Find ("cod_produto=") & Val(fgrProdutos.TextMatrix(aux, 0)), , , 1
Adodc1.Recordset.Find ("dia=") & VBA.Date, , , 1
Adodc1.Recordset!vendas_dia = Adodc1.Recordset!vendas_dia + 1
Adodc1.Recordset!lucro_dia = Adodc1.Recordset!lucro_dia + CCur(Adodc3.Recordset!lucro_produto * Val(fgrProdutos.TextMatrix(aux, 3)))
Adodc1.Recordset!saldo_dia = Adodc1.Recordset!saldo_dia + CCur(Adodc3.Recordset!preco_produto * Val(fgrProdutos.TextMatrix(aux, 3)))
Adodc1.Recordset!caixa_final = Adodc1.Recordset!caixa_final + CCur(Adodc3.Recordset!preco_produto * Val(fgrProdutos.TextMatrix(aux, 3)))
Adodc1.Recordset.Update
Next
Adodc1.Recordset.MoveFirst
'Limpa a lista de produtos
fgrProdutos.Clear
With fgrProdutos
.Rows = 2
.TextMatrix(0, 0) = "#"
.TextMatrix(0, 1) = "Produto"
.TextMatrix(0, 2) = "Preço (R$)"
.TextMatrix(0, 3) = "Quantidade"
.TextMatrix(0, 4) = "Estoque"
.ColWidth(1) = 2200
.ColWidth(0) = 900
.ColWidth(4) = 850
End With
lblTotProdutos.Caption = Empty
lblTotPagar.Caption = Empty
End If
End Sub
*fgrProdutos é uma flexGrid, onde estarão os itens que serão vendidos.
O problema é que quando o botão vai executar qualquer ação com o Adodc1, aparece a seguinte mensagem de erro: "Run-Time Error '91' , Object Variable or With Block Variable not set."
O que significa esse erro? Como posso fazer funcionar????
Pergunta
brunohjoia
Aew pessoal, é o seguinte. Eu tenho um formulário de vendas e um botão de "realizar venda". Esse botão deve atualizar as tabelas de produto, de finanças e de vendas de acordo com os produtos que serão vendidos, os quais estão numa flexgrid(fgrProdutos).
Eu já tinha adicionado um adodc3, o qual continha os dados da tabela de Produtos da loja. Era através desse adodc que o botão atualizava a tabela de produtos, e funcionava perfeitamente. Então eu adicionei um adodc1 para atualizar a tabela de finanças, e no botão de realizar venda, coloquei o seguinte codigo:
*fgrProdutos é uma flexGrid, onde estarão os itens que serão vendidos.
O problema é que quando o botão vai executar qualquer ação com o Adodc1, aparece a seguinte mensagem de erro: "Run-Time Error '91' , Object Variable or With Block Variable not set."
O que significa esse erro? Como posso fazer funcionar????
Link para o comentário
Compartilhar em outros sites
4 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.