na linha: rstEstoque.Index = "PrimaryKey"
(Erro em tempo de execução 3251.
Operação não suportada para este tipo de objeto)
Pesquisei porem não consegui resolver.
Utilizo o código para controle de estoque (pesquisado e encontrado aqui no fórum).
Private Sub btn_Atualizar_Click()
If IsNull(Me.IdEntrada.Value) Or Me.IdEntrada.Value = "" Then
MsgBox "Nenhuma movimentação de estoque para atualizar...", vbCritical, "Atenção"
Exit Sub
Else
'Informa mensagem de Ordem
If MsgBox("Você deseja atualizar o estoque?", vbQuestion + vbYesNo, "Confirme") = vbYes Then
'Devol.Value = True
'''''''''Atualização - baixa no estoque dos produtos vendidos''''''''''''''''''''''''
DoCmd.RunCommand acCmdSaveRecord
Dim wk As DAO.Workspace
Dim db As DAO.Database
Dim rstEstoque As DAO.Recordset
Dim rstSubFrm As DAO.Recordset
Set wk = DBEngine.Workspaces(0)
Set db = CurrentDb
Set rstEstoque = db.OpenRecordset("tbl_Produto")
Set rstSubFrm = Me.frm_EntradaDetalhe.Form.RecordsetClone
'Informa qual indice será utilzado pelo metodo seek no recordset de Estoque
rstEstoque.Index = "PrimaryKey"
'Posiciona o ponteiro do recordset do subfrm no primeiro registro
rstSubFrm.MoveFirst
'Inicia um loop no recordset do subfrm
Do While Not rstSubFrm.EOF
'Inicia a busca no recordset estoque usando como argumento de busca o conteudo do campo CodPeca do subfrm
rstEstoque.Seek "=", rstSubFrm!IdProd
'Se idêntico
If rstEstoque.NoMatch = False Then
rstEstoque.Edit 'Coloca o recordset em modo de edicao
rstEstoque("Estoque") = rstEstoque("Estoque") + rstSubFrm("QuantEntrada")
rstEstoque.Update 'Grava a alteracao efetuada!
End If
'avanca para o proximo registro do subfrm
rstSubFrm.MoveNext
Loop
'Encerra as variaveis
rstSubFrm.Close
rstEstoque.Close
db.Close
wk.Close
'Informa que foi dada baixa no estoque e imprime cupom de venda
MsgBox "Atualizando Estoque. ", vbInformation, "Atualizado com sucesso!!!"
Me.btn_novo_forn.Enabled = True
Me.btn_novo_forn.SetFocus
End If
End If