ola Pessoal
tenho esse codigo funciona beleza no banco.accdb no banco nao dividido mas quando dividi o banco a vem a dor de cabeça
segue codigo
Private Sub btsalvar_Click()
'Informa mensagem de Ordem
If MsgBox("Você esta prestes 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("tblProduto")
Set rstSubFrm = Me.frmItemVenda.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!Codproduto
'Se idêntico
If rstEstoque.NoMatch = False Then
rstEstoque.Edit 'Coloca o recordset em modo de edicao
rstEstoque("estoque") = rstEstoque("Estoque") - rstSubFrm("Quantia")
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!!!"
'DoCmd.OpenForm "Barra", acNormal
If Forms!frmVenda!frmItemVenda.Locked = True Then
Forms!frmVenda!frmItemVenda.Locked = False
Else
Forms!frmVenda!frmItemVenda.Locked = True
End If
'Atualiza cupom para imprimir
DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
MyErrorCheck:
If Err.Number = 3011 Then
' Do something here
End If
Dim stDocName As String
'stDocName = "rptVenda"
'DoCmd.OpenReport stDocName, acPreview, "CodVenda = " & Me.CodVenda
Else
End If
End Sub
esta dando erro 3251 - operacao nao suportada para esse objeto
tenho esse codigo funciona beleza no banco.accdb no banco nao dividido mas quando dividi o banco a vem a dor de cabeça
segue codigo
Private Sub btsalvar_Click()
'Informa mensagem de Ordem
If MsgBox("Você esta prestes 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("tblProduto")
Set rstSubFrm = Me.frmItemVenda.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!Codproduto
'Se idêntico
If rstEstoque.NoMatch = False Then
rstEstoque.Edit 'Coloca o recordset em modo de edicao
rstEstoque("estoque") = rstEstoque("Estoque") - rstSubFrm("Quantia")
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!!!"
'DoCmd.OpenForm "Barra", acNormal
If Forms!frmVenda!frmItemVenda.Locked = True Then
Forms!frmVenda!frmItemVenda.Locked = False
Else
Forms!frmVenda!frmItemVenda.Locked = True
End If
'Atualiza cupom para imprimir
DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
MyErrorCheck:
If Err.Number = 3011 Then
' Do something here
End If
Dim stDocName As String
'stDocName = "rptVenda"
'DoCmd.OpenReport stDocName, acPreview, "CodVenda = " & Me.CodVenda
Else
End If
End Sub
esta dando erro 3251 - operacao nao suportada para esse objeto