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


2 participantes

    [Resolvido]Formulário de controle com cálculos - soma e subtração

    avatar
    alam.alam
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 23
    Registrado : 01/07/2011

    [Resolvido]Formulário de controle com cálculos - soma e subtração Empty [Resolvido]Formulário de controle com cálculos - soma e subtração

    Mensagem  alam.alam 20/4/2017, 13:50

    Bom dia,
    Sou iniciante em Access 2007. Criei um sistema de controle de funcionários que está funcionando bem.
    Agora encontrei um problema que não consigo ultrapassar: Tenho uma tabela com os seguintes campos – ATIVOS (nº) – DATA – REFERENCIA(txt) – QUANTIDADE(nº) - VAGOS(nº) (ATIVOS é o total de funcionários; DATA é o dia da dispensa; REFERENCIA é o motivo da dispensa que pode ser aposentadoria, demissão, etc; QUANTIDADE é o numero de funcionários que saíram; VAGOS é o total de cargos que liberaram)
    Preciso manter na tabela todas as movimentações pata fins estatísticos.
    Criei um formulário onde o usuário fará o lançamento entrando com a DATA a REFERENCIA (caixa de listagem com os nomes da dispensa), a QUANTIDADE e um botão para salvar. E os campos bloqueados com o ATIVO e os VAGOS, sempre atualizados.
    Agora não sei como criar o código para executar tal tarefa, vai muito além do meu conhecimento. Os senhores poderiam indicar algum código para que eu pudesse adaptar.
    Grato.
    Bom feriado a todos.
    Alam
    CassioFabre
    CassioFabre
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 731
    Registrado : 18/01/2013

    [Resolvido]Formulário de controle com cálculos - soma e subtração Empty Re: [Resolvido]Formulário de controle com cálculos - soma e subtração

    Mensagem  CassioFabre 20/4/2017, 18:09

    Bom dia,

    Primeiramente temos que entender o que acontece quando você cadastra a rescisão. A referencia e data para a dúvida deste tópico é irrelevante (será relevante para outros fins). Muito bem:
    - O novo total de Ativos será o total de ativos que já existe na tabela menos o total de rescisões cadastradas em cada movimentação.
    - O novo total de Vagos será o total de ativos que já exista na tabela mais o total de rescisões cadastradas em cada movimentação.

    Lembrando que esses campos também tem que ser modificados em caso de admissões de funcionários, obviamente fazendo as alterações na matemática.

    Com isso, no evento Ao Clicar do botão salvar (tendo todas as verificações possíveis que não vem ao caso, claro) você pode por:

    Código:
    Dim rs as Recordset

    Set rs = CurrentDb.OpenRecordset("NOME_DA_SUA_TABELA")

    rs.AddNew
        rs("Ativos") = rs!ativos - txtQuantidadeRescisoes
        rs("Vagos") = rs!vagos + txtQuantidadeRescisoes
    rs.Update
    rs.Close

    O código acima fará apenas a modificação dos campos ativos e vagos da tabela, não considerei os outros campos, isso vou deixar pra voce. Lembre-se de alterar o nome dos campos para os respectivos nomes que voce tiver ai na sua tabela, bem como o nome da propria tabela no recordset.

    Dando um pitaco, eu não acho que o melhor local para armazenar esses dados seja nesta tabela, porque serão alterados por mais de um processo (como admissão, afastamento temporários, licenças quaisquer, etc), então talvez seja melhor repensar isso.

    Abraço.
    avatar
    alam.alam
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 23
    Registrado : 01/07/2011

    [Resolvido]Formulário de controle com cálculos - soma e subtração Empty Quase lá.

    Mensagem  alam.alam 20/4/2017, 21:24

    Caro amigo Cassio,
    Tua orientação ajudou bastante. Fiz algumas modificações, conforme anexo. Mas como faço para após atualizar os dados o formulário retornar com a nova posição de ativos e vagos.

    ******
    Private Sub srce_Click()
    Dim bc As Database
    Dim Imp2 As Recordset
    If MsgBox("Confirma salvar Dados?", vbYesNo + vbQuestion, "aviso") = vbYes Then
    'Inicializa os Valores das Variaveis
    Set bc = CurrentDb()
    Set Imp2 = bc.OpenRecordset("ESPECIAL")
    'Cria Um novo Registro
    Imp2.AddNew
    'No Novo Registro Insere Os Dados que vc Deseja
    Imp2![ativo] = Me.[ativo]
    Imp2![VACANCIA] = Me.[VACANCIA]
    Imp2![QUANTIDADE] = Me.[QUANTIDADE]
    Imp2![DOE] = Me.[DOE]
    Imp2![VAGA] = Me.[VAGA]
    Imp2("ATIVO") = Imp2!ativo - QUANTIDADE
    Imp2("VAGA") = Imp2!VAGA + QUANTIDADE
    'Atualiza Tabela
    Imp2.Update
    'Cria Um novo Registro
    Imp2.AddNew
    'Tira Da Memoria as Variaveis bc e Tab2
    Set bc = Nothing
    Set Imp2 = Nothing
    ' Limpar Campos
    'DoCmd.RunCommand acCmdDeleteRecord
    DoCmd.RunCommand acCmdRefresh
    DoCmd.GoToRecord , , acNewRec
    End If
    End Sub




    Grato pela aula e orientação.

    ats
    alam
    avatar
    alam.alam
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 23
    Registrado : 01/07/2011

    [Resolvido]Formulário de controle com cálculos - soma e subtração Empty Re: [Resolvido]Formulário de controle com cálculos - soma e subtração

    Mensagem  alam.alam 20/4/2017, 23:58

    Valeu. Consegui executar todos os código. Obrigadooo.

    Ficou assim.
    Private Sub srce_Click()
    Dim bc As Database
    Dim Imp2 As Recordset
    If MsgBox("Confirma salvar Dados?", vbYesNo + vbQuestion, "aviso") = vbYes Then
    'Inicializa os Valores das Variaveis
    Set bc = CurrentDb()
    Set Imp2 = bc.OpenRecordset("ESPELHOESPECIAL")
    'Cria Um novo Registro
    Imp2.AddNew
    'No Novo Registro Insere Os Dados que vc Deseja
    Imp2![ATIVO] = Me.[ATIVO]
    Imp2![VACANCIA] = Me.[VACANCIA]
    Imp2![QUANTIDADE] = Me.[QUANTIDADE]
    Imp2![DOE] = Me.[DOE]
    Imp2![VAGA] = Me.[VAGA]
    If Me![VACANCIA].Value = "PROMOVIDO" Then
    Imp2("ATIVO") = Imp2!ATIVO + QUANTIDADE
    Imp2("VAGA") = Imp2!VAGA - QUANTIDADE
    Else
    Imp2("ATIVO") = Imp2!ATIVO - QUANTIDADE
    Imp2("VAGA") = Imp2!VAGA + QUANTIDADE
    End If
    'Atualiza Tabela
    Imp2.Update
    'Cria Um novo Registro
    Imp2.AddNew
    'Tira Da Memoria as Variaveis bc e Tab2
    Set bc = Nothing
    Set Imp2 = Nothing
    ' Limpar Campos
    'DoCmd.RunCommand acCmdDeleteRecord
    DoCmd.RunCommand acCmdRefresh
    DoCmd.GoToRecord , , acNewRec
    End If
    DoCmd.Close
    DoCmd.OpenForm "FRMESPELHOESPECIAL"
    DoCmd.GoToRecord , , acLast

    End Sub

    Conteúdo patrocinado


    [Resolvido]Formulário de controle com cálculos - soma e subtração Empty Re: [Resolvido]Formulário de controle com cálculos - soma e subtração

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 7/11/2024, 17:49