Ir para conteúdo
Fórum Script Brasil
  • 0

Run-time Error '91'


brunohjoia

Pergunta

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????

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Sim, esta tudo certinho com a configuração do adodc. Por via das duvidas eu criei outro adodc, configurei tudinho e o testei, mas deu o mesmo problema. Então eu fiz outro teste: eu declarei option explicit no inicio, e depois coloquei uma linha de codigo "adodc30.recordset.movefirst", sendo que esse adodc30 não existe. O resultado é uma mensagem de erro dizendo que a variável não foi declarada.... Eu cheguei então à conclusão de que o VB está reconhecendo os novos adodc como variáveis, e não como objetos, e por isso ocorre o erro. Mas eu não sei o q fazer.... Alguém aí pode me ajudar???????

Link para o comentário
Compartilhar em outros sites

  • 0
Guest --Tony --

Vai ai uma dica, não sei se te ajudará, comigo aconteceu parecido e funcionou.

Declare novamente as variáveis que esta utilizando.

tipo: Adodc3,Adodc1, recodsets em geral e se possível faça uma nova "abertura" no banco de dados.

Sou principiante, por isso não sei falar muito tecnicamente.

falowww

Tony

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...