MaximoAccess

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

Obrigado

Administração do MaximoAccess

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

    Usando SQL em VBA

    Compartilhe

    m_araujo
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 95
    Registrado : 15/11/2012

    Usando SQL em VBA

    Mensagem  m_araujo em Sab 14 Maio 2016, 13:23

    Bom dia!

    Amigos, eu tenho uma consulta atualizável de estoque, funciona perfeitamente mais quero tira-la e inseria quando inserir um item no subformSaida.
    alguem poderia ajudar.

    Código:


    Private Sub btLancar_Click()

    On Error Resume Next

    DoCmd.GoToControl "SubItensSaida"
    DoCmd.GoToRecord , , acNewRec

    Forms!FrmSaidas!SubItensSaida!CodigoProduto = Me.txtCodigo
    Forms!FrmSaidas!SubItensSaida!DescricaoProduto = Me.txtDescricaoDe
    Forms!FrmSaidas!SubItensSaida!SiglaMedida = Me.txtMedida
    Forms!FrmSaidas!SubItensSaida!ValorReal = txtValorUnitario
    Forms!FrmSaidas!SubItensSaida!Descricao = TxtDeposito
    Forms!FrmSaidas!SubItensSaida!Quantidade = txtQuantidade
    Forms!FrmSaidas!SubItensSaida!TotalItes = txtValortotal

    txtCodigo = ""
    txtDescricaoDe = ""
    txtMedida = ""
    TxtDeposito = ""
    txtValorUnitario.Value = "R$ 0,00"
    txtQuantidade.Value = "0,00"
    txtValortotal.Value = "0,00"
    txtCodigo.SetFocus

    Forms!FrmSaidas!SubItensSaida!DocumentoSaida = Me.txtDocumentoSaida
    DoCmd.RunCommand acCmdSaveRecord

    '---------------------------------------------------------------------------------------------------------------------
    ' SQL da consulta atualizável
    '---------------------------------------------------------------------------------------------------------------------

    UPDATE tabProdutos, tabItensSaida SET tabProdutos.SaldoEstoque = [tabProdutos]![SaldoEstoque]-[Quantidade], tabItensSaida.Atualizado = Yes
    WHERE (((tabItensSaida.Atualizado)=No) AND ((tabProdutos.CodigoProduto)=[tabItensSaida]![CodigoProduto]));

    '-------------------------
               
          'Me.Undo
         
    Exit_Err_Excluir_Click1:
    Exit Sub
    Err_Excluir_Click1:
    'msg = MsgBox("Não se pode excluir um registro ainda inexistente !!!", vbOKOnly + vbQuestion, "Atencão")
    Resume Exit_Err_Excluir_Click1


    DoCmd.GoToControl "SubItensSaida"
    DoCmd.GoToRecord , , acNewRec

    Forms!FrmSaidas!SubItensSaida!CodigoProduto = Me.txtCodigo
    Forms!FrmSaidas!SubItensSaida!DescricaoProduto = Me.txtDescricaoDe
    Forms!FrmSaidas!SubItensSaida!SiglaMedida = Me.txtMedida
    Forms!FrmSaidas!SubItensSaida!ValorReal = txtValorUnitario
    Forms!FrmSaidas!SubItensSaida!Descricao = TxtDeposito
    Forms!FrmSaidas!SubItensSaida!Quantidade = txtQuantidade
    Forms!FrmSaidas!SubItensSaida!TotalItes = txtValortotal

    txtCodigo = ""
    txtDescricaoDe = ""
    txtMedida = ""
    TxtDeposito = ""
    txtValorUnitario.Value = "R$ 0,00"
    txtQuantidade.Value = "0,00"
    txtValortotal.Value = "0,00"
    txtCodigo.SetFocus
    Forms!FrmSaida!SubItensSaida!DocumentoSaida = Me.txtDocumentoSaida
    DoCmd.RunCommand acCmdSaveRecord


    Exit_Err_Excluir_Click:
    Exit Sub
    Err_Excluir_Click:
    'MSG = MsgBox("Não se pode excluir um registro ainda inexistente !!!", vbOKOnly + vbQuestion, "Atencão")
    Resume Exit_Err_Excluir_Click


    avatar
    Dilson
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

    Re: Usando SQL em VBA

    Mensagem  Dilson em Seg 16 Maio 2016, 16:48

    Pode tentar a instrução sql no evento após atualizar do campo quantidade do subformulario:

    currentdb.execute "UPDATE tabProdutos, tabItensSaida SET tabProdutos.SaldoEstoque = [tabProdutos]![SaldoEstoque]-[Quantidade], tabItensSaida.Atualizado = Yes
    WHERE (((tabItensSaida.Atualizado)=No) AND ((tabProdutos.CodigoProduto)=[tabItensSaida]![CodigoProduto]));"

      Data/hora atual: Dom 19 Nov 2017, 21:12