RUN-TIME ERROR 91

WELLINFC 24/03/2012 18:48:41
#398165
Olá pessoal,
Estou tendo uma certa dificuldade em encontrar a solução deste problema. Estou criando uma tela no vb6 de cadastro de produto, e quando clico para gravar produto dá o erro Run-time error [ô]91[ô] alguém pode me dar um help?

tem um pedaço do código onde esta dando o erro, o erro esta dando na linha: Temp.Recordset.AddNew

Dim Preco As Currency
Preco = MskPrCompra.Text
Temp.Recordset.AddNew
Temp.Recordset.Fields([Ô]codigo[Ô]) = MskCodigoProduto.Text
Temp.Recordset.Fields([Ô]descrição[Ô]) = LblDescrição.Text
Temp.Recordset.Fields([Ô]precounit[Ô]) = MskPrCompra.Text
Temp.Recordset.Fields([Ô]precovenda[Ô]) = MskPrVenda.Text
Temp.Recordset.Fields([Ô]quantidade[Ô]) = MskQtde.Text
Temp.Recordset.Fields([Ô]precototal[Ô]) = Format(Preco * Val(MskQtde.Text), [Ô]currency[Ô])
Temp.Recordset.Update
ROBIU 24/03/2012 19:40:22
#398168
Este erro é porque seu objeto recordset não foi instanciado:
algo assim:

Set Temp=New Adodb.Recordset


Para mais detalhes, poste o código que carrega o objeto Temp
WELLINFC 26/03/2012 19:19:21
#398347
Roberto vou mandar em seu email pode ser?, estou meio perdido
WELLINFC 09/04/2012 16:37:14
#399388
ainda não consegui
ADILSOO 11/04/2012 07:44:17
#399542
Voce esta usando ADO ou DAO? qual seu banco?, voce declarou o TEMP como recordset e definiu uma database?
ALEVALE 11/04/2012 17:22:44
#399622
Depois dessa eu encerava o tópico !

Meu não é assim aumentando as letras que você vai ter mais credibilidade no fórum !
WELLINFC 11/04/2012 17:37:24
#399626
Adilso estou usando objeto DAO; Banco de dados Access;
Declarei o Temp assim:

Public BancoDeDados As Database
Public TBClientes As Recordset
Public TBFornecedores As Recordset
Public TBProdutos As Recordset
Public TBFuncionários As Recordset
Public BuscaFornecedor As String
Public BuscaProduto As String
Public Temp As Recordset
Public BuscaCliente As String

A database esta assim:

Public Sub AbreArquivo()
Set BancoDeDados = OpenDatabase(App.Path & [Ô]\Dados.mdb[Ô])
Set TBClientes = BancoDeDados.OpenRecordset([Ô]clientes[Ô], dbOpenTable)
Set TBFornecedores = BancoDeDados.OpenRecordset([Ô]fornecedores[Ô], dbOpenTable)
Set TBProdutos = BancoDeDados.OpenRecordset([Ô]produtos[Ô], dbOpenTable)
Set TBFuncionários = BancoDeDados.OpenRecordset([Ô]Funcionário[Ô], dbOpenTable)
end sub
ADILSOO 11/04/2012 21:03:05
#399651
Tenta gravar dessa maneira...

Tabela.AddNew
Tabela([Ô]Campo[Ô]).Value = TextBox.Text
Tabela.Update

Não sei, eu faço dessa forma e funciona perfeitamente...
WELLINFC 12/04/2012 16:27:00
#399723
vou tentar isso
FILMAN 14/04/2012 19:10:12
#399887
Bom primeiro sugiro que mude sua conexão para ADO na minha opinião é bem melhor que DAO, mas tenho projetos desenvolvido em DAO também

Vamos Lá

Criando a Conexão com o Banco e setando as Tabelas
Em um modulo coloque
Public BancoDeDados As Database
Public Temp As Recordset

Public Sub AbreArquivo()
Set BancoDeDados = OpenDatabase(App.Path & [Ô]\Dados.mdb[Ô])
Set Temp = BancoDeDados.OpenRecordset([Ô]Produtos[Ô], dbOpenTable)
end sub


No LOAD do FORM coloque
Call AbreArquivo


No Clique do Botão coloque
IF Temp.BOF then
Temp.AddNew
Temp([Ô]codigo[Ô]) = MskCodigoProduto.Text
Temp([Ô]descrição[Ô]) = LblDescrição.Text
Temp([Ô]precounit[Ô]) = MskPrCompra.Text
Temp([Ô]precovenda[Ô]) = MskPrVenda.Text
Temp([Ô]quantidade[Ô]) = MskQtde.Text
Temp([Ô]precototal[Ô]) = FormatCurrency(Preco * Val(MskQtde.Text),2)
Temp.Update
Temp.Close
Else
Temp.MoveLast
Temp.AddNew
Temp([Ô]codigo[Ô]) = MskCodigoProduto.Text
Temp([Ô]descrição[Ô]) = LblDescrição.Text
Temp([Ô]precounit[Ô]) = MskPrCompra.Text
Temp([Ô]precovenda[Ô]) = MskPrVenda.Text
Temp([Ô]quantidade[Ô]) = MskQtde.Text
Temp([Ô]precototal[Ô]) = FormatCurrency(Preco * Val(MskQtde.Text),2)
Temp.Update
Temp.Close
End If
WELLINFC 23/04/2012 16:29:00
#400547
Estou tentando fazer o que nosso amigo filman postou mas a opção BOF não aparece. por exemplo if Temp.BOF.. o BOF não aparece
precisa acrescentar algum componente?
Página 1 de 2 [18 registro(s)]
Tópico encerrado , respostas não são mais permitidas