MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access


3 participantes

    estoque banco dividido

    avatar
    msilveir
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 388
    Registrado : 13/03/2011

    estoque banco dividido Empty estoque banco dividido

    Mensagem  msilveir 6/6/2015, 15:06

    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
    scandinavo
    scandinavo
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1049
    Registrado : 11/11/2009

    estoque banco dividido Empty Re: estoque banco dividido

    Mensagem  scandinavo 6/6/2015, 20:27

    Ja tive o mesmo problema, e resolvi com ajuda de JPaulo as duas funçoes faz o mesmo serviço so que uma no mesmo banco e outra no banco dividido

    Sub CompletarLancamentoMesmoBanco() 'sem divisão de banco

    Dim ProdutoSaida As String 'campo texto
    Dim DataSaida As Date 'campo data
    Dim QntSaida As Integer 'campo numero

    Dim rs As DAO.Recordset
    Set rs = CurrentDb.OpenRecordset("tblSaida")
    rs.AddNew
    rs!ProdutoSaida = txtProdutoSaida
    rs!DataSaida = txtDataSaida
    rs!QntSaida = txtTotalPedido
    'rs!QntSaida = TotalPedido

    rs.Update
    rs.Close
    Set rs = Nothing
    Me.Form.Requery

    End Sub

    '----------------------------------------------------------------------------

    Sub CompletarLancamento() 'banco de dados dividido
    'Ativar a referencia Microsoft ActiveX Data Objects 2.1 Library
    'os nomes dos campos no formulario foi alterado
    'o nome tem que ser diferente do campo da tabela

    Dim ProdutoSaida As String 'campo texto
    Dim DataSaida As Date 'campo data
    Dim QntSaida As Integer 'campo numero

    Dim Conn As ADODB.Connection
    Dim rst As New ADODB.Recordset
    Dim strSql As String
    Set Conn = CurrentProject.Connection
    Set rst = New ADODB.Recordset
    strSql = "Select * from tblSaida"
    rst.Open strSql, Conn, adOpenKeyset, adLockOptimistic
    rst.AddNew
    rst!ProdutoSaida = txtProdutoSaida
    rst!DataSaida = txtDataSaida
    rst!QntSaida = txtTotalPedido
    'rst!QntSaida = TotalPedido
    rst.Update
    rst.Close
    Set rst = Nothing
    Me.Form.Requery
    End Sub
    avatar
    msilveir
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 388
    Registrado : 13/03/2011

    estoque banco dividido Empty Re: estoque banco dividido

    Mensagem  msilveir 7/6/2015, 02:36

    ola Scandinavo

    muito obrigado pela atençao , mas esta dando erro tipo nao definido pelo usuario
    segue codigo

    Private Sub Comando41_Click()
    'Ativar a referencia Microsoft ActiveX Data Objects 2.1 Library
    'os nomes dos campos no formulario foi alterado
    'o nome tem que ser diferente do campo da tabela

    Dim ProdutoSaida As String 'campo texto
    'Dim DataSaida As Date 'campo data
    Dim QntSaida As Integer 'campo numero

    Dim Conn As ADODB.Connection
    Dim rst As New ADODB.Recordset
    Dim strSql As String
    Set Conn = CurrentProject.Connection
    Set rst = New ADODB.Recordset
    strSql = "Select * from tblitemvenda"
    rst.Open strSql, Conn, adOpenKeyset, adLockOptimistic
    rst.AddNew
    rst!Codproduto = Codproduto
    'rst!DataSaida = txtDataSaida
    rst!QntSaida = Quantia
    'rst!QntSaida = TotalPedido
    rst.Update
    rst.Close
    Set rst = Nothing
    Me.Form.Requery
    End Sub
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3880
    Registrado : 04/04/2010

    estoque banco dividido Empty Re: estoque banco dividido

    Mensagem  Avelino Sampaio 7/6/2015, 09:17

    Olá, Marcio!

    O seek não funciona para tabelas vinculadas.

    Acho que fica mais simples se utilizar um consulta atualização. veja uma modificação para o seu código:


    ...
    Do While Not rstSubFrm.EOF
    db.execute "UPDATE tblProduto SET Estoque = Estoque - " & rstSubFrm("Quantia") & " WHERE Codproduto = " & rstSubFrm!Codproduto
    rstSubFrm.MoveNext
    Loop
    ...


    Nota: Faça um backup dos seus dados antes de realizar o teste.

    Nota: desabilite a linha rstEstoque.Index = "PrimaryKey"

    Aguardamos



    .................................................................................
    Vídeos, livros, kit MontaRibbons e acesso vitalício ao site UsandoAcces  
    Clique AQUI e analise o custo beneficio do material oferecido.
    avatar
    msilveir
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 388
    Registrado : 13/03/2011

    estoque banco dividido Empty Re: estoque banco dividido

    Mensagem  msilveir 9/6/2015, 18:17

    ola Amigo Avelino

    esta dando erro de sintaxe faltando operador ,  segue a consulta

    UPDATE tblProduto SET Estoque = Estoque - " & rstSubFrm("Quantia") & " WHERE Codproduto = " & rstSubFrm!Codproduto

    nem deixa salvar a consulta acho que seria assim a consulta certo

    muito obrigado
    avatar
    msilveir
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 388
    Registrado : 13/03/2011

    estoque banco dividido Empty Re: estoque banco dividido

    Mensagem  msilveir 16/6/2015, 17:16

    boa tarde

    pessoal após comentar as linhas abaixo funcionou em rede

    rstEstoque.Index = "PrimaryKey"

    rstEstoque.Seek "=", rstSubFrm!Codproduto

    muito obrigado a todos

    Conteúdo patrocinado


    estoque banco dividido Empty Re: estoque banco dividido

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 27/4/2024, 20:21