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

    [Resolvido]Inclusão e alteração de Registros com menu de Aprovação

    Compartilhe
    avatar
    FabioLeitao
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 21
    Registrado : 21/12/2016

    [Resolvido]Inclusão e alteração de Registros com menu de Aprovação

    Mensagem  FabioLeitao em Sex 14 Abr 2017, 03:01

    Boa noite caros colegas,

    Estou precisando de uma ajuda tanto quanto na ideia inicial e na integração com a base que já tenho.

    Tenho uma base de consulta de documentos da empresa e preciso que ela tenha um menu de "Aprovadores".

    Toda vez que um documento ou registro for incluído, alterado ou excluído da base que está ação fique pendente de aprovação por meio de um menu de aprovação para alguns usuários autorizados que tenham acesso ao formulário de aprovação.

    A Base já possui a ferramenta de login e senha e configuração de acessos por perfil utilizando parte do Maestro do mestre Avelino.

    Gostaria de saber se algum tem algum caso desse como exemplo ou como eu poderia comecar a desenvolver esta ferramenta.

    Obrigado
    Boa Pascoa a todos !!
    avatar
    Maicon
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 40
    Registrado : 08/09/2012

    Já está na base de dados.

    Mensagem  Maicon em Sex 14 Abr 2017, 09:33

    A base de dados do Avelino a que se refere deve ser o maestro, ele por si já tem toda a dinâmica de usuários voltada para id do usuario.

    tbl de usuário  possui a estrutura mais ou menos assim :

    id;usuário;password e permissão  se não me engano.

    O que eu faço nas minhas aplicações com mais de um usuário eu jogo a variável que identifica o nível do usuário e depois abro o formulário dependendo do seu nível de acesso. se administrativo : "frm_administrativo"; e assim por diante.
    no caso de ter um único formulário terá que mudar as  propriedades ( Visível;Ativo-Inativo) ; podes fazer isso tanto com macros como em VBA. e  dependendo dependendo da id do usuário vais atribuindo propriedades aos controles dos formulários.


    SDS
    Maicon
    avatar
    CassioFabre
    Developer
    Developer

    Respeito às Regras 100%

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

    Re: [Resolvido]Inclusão e alteração de Registros com menu de Aprovação

    Mensagem  CassioFabre em Seg 17 Abr 2017, 14:45

    Bom dia,

    Eu pensaria em algo assim:

    Se já tem o cadastro de usuários com respectívos níveis, eu colocaria um campo "pendente" booleano na tabela, um campo que descrevesse a pendência (inclusão, alteração, etc) e mais um tempo que concatenasse todos as informações que deveria ser salvas.

    O funcionamento desse terceiro campo é bem interessante: no caso de de ter alteração ou inclusão, você coloca todas as informações de todos os campos do formulário separadas por um caracter especial que não vai ter inserido em nenhum campo (eu costumo usar ponto e vírgula(; )) e, no caso de haver alteração ou inclusão, no momento que essa ação for "aprovada", voce insere cada dado entre os ; no respectivo campo. Obviamente voce vai precisar salvar na ordem correta pra não se atrapalhar. Esse processo é feito com a função Split().

    Você pode fazer um form auxiliar que vai ser aberto só pelos usuários habilitados e fazer o processo todo neste form.

    Em anexo um exemplo para entender melhor o que falei.

    O "formTbl" é onde cadastra os dados, não coloquei nenhuma rotina para inclusão, apenas edição. No campo "codigo" voce coloca o código do registro (só coloquei 3 apenas para entendimento). Entao escreva lá 1, 2 ou 3 e ele retornará os dados. Altere qualquer campo e clique em Salvar. Depois vá ao "formPendencias" e terá uma listbox com os registros pendentes. Selecione 1 deles e clique no botão. E então o registro será alterado. Qualquer duvida você pergunta.

    Abraço.
    Anexos
    pendencias.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (73 Kb) Baixado 40 vez(es)
    avatar
    FabioLeitao
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 21
    Registrado : 21/12/2016

    Re: [Resolvido]Inclusão e alteração de Registros com menu de Aprovação

    Mensagem  FabioLeitao em Ter 25 Abr 2017, 01:08

    Cássio, muitíssimo obrigado pela ajuda.

    Devido a um pouco de pressão da empresa aqui para bloqueio de tudo da base, eu tinha incluído temporariamente um campo de usuário e senha com os botões Ativado e Bloqueado no qual se o usuário quisesse alterar o registro teria de colocar uma senha e o registro automaticamente liberava o formulário para edição da base e depois da edição era possível bloquear novamente e para excluir um registro ao clicar no botão Excluir a base o formulário solicitava a senha para exclusão.

    Abri o exemplo que você mandou e realmente ficou excelente, agora só preciso ajustar para que o formulário "Pendencias" fique somente disponível no menu da Ribbon para os usuários aprovadores.

    Vou estudar direitinho todo código que você usou para ajustar com as tabelas e formulários de inclusão, alteração, exclusão, entre outros...

    Mas a parte de inclusão ainda estou meio perdido de como colocar pra aprovar.

    Só para explicar melhor do que se trata e a grande ajuda que você me forneceu, o aplicativo é uma Base de conhecimento para uma Central de Helpdesk da IBM dentro de um grande cliente, um Banco que a empresa assumiu recentemente o suporte, então serão cerca de 100 Técnicos, gestores e atendentes acessando simultaneamente e consultando, cada funcionário com seu usuário e permissões de acesso, para uso de manuais, procedimentos, ramais, autorizantes, botões com redirecionamento para outros aplicativos internos da empresa, envios automáticos de e-mail, entre outros.

    O Banco fornece um sistema terceiro muito mais desenvolvido e amplo via Web, porem não podemos edita-lo a nosso modo de trabalho, alem de demorar demais qualquer solicitação de alteração da base e também não sei quando e se sera possível integrar algum sistema da IBM ao cliente, devido a muitas restrições.

    Por mais que seja um sistema simples, está sendo um diferencial para um melhor desempenho da área e para meu estudo do MOS Access.
    Aproveito este tópico para agradecer a todos do Fórum aqui que me ajudaram,a vários tópicos já solucionados que foram de grande ajuda e possivelmente ainda vão me ver muitas vezes por aqui. cheers
    avatar
    CassioFabre
    Developer
    Developer

    Respeito às Regras 100%

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

    Re: [Resolvido]Inclusão e alteração de Registros com menu de Aprovação

    Mensagem  CassioFabre em Ter 25 Abr 2017, 14:45

    Bom dia,

    Para a questão da inclusão, eu pensaria em uma tabela auxiliar em que o registro seria gravado e ficaria à disposição do responsável. Essa tabela seria exatamente igual à tabela que tem os dados verdadeiros. Então, quando o responsável aprovasse a movimentação, basta mover o registro desta tabela auxiliar para o normal.

    Abraço.
    avatar
    FabioLeitao
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 21
    Registrado : 21/12/2016

    Re: [Resolvido]Inclusão e alteração de Registros com menu de Aprovação

    Mensagem  FabioLeitao em Ter 25 Abr 2017, 23:05

    Boa Tarde Cassio,

    Estou tentando utilizar o seguinte codigo para ao invez de buscar por um ID, buscar por um "nome" por exemplo na tabela.

    Tentei usar

    Código:
    Private Sub txtNome_AfterUpdate()
        If txtNome <> "" Then
            Set db = CurrentDb
            Set rs = db.OpenRecordset("select * from tbl where nome = '" & txtNome & "'")
           

            If rs.EOF Then
                txtNome = rs!nome
                txtEndereco = rs!endereco
                txtSalario = rs!salario
                txtCargo = rs!cargo
            Else
                Call limpaCampos
            End If
        Else
            Call limpaCampos
        End If
    End Sub

    Mas nao esta dando certo, ele nao completa a caixa de texto com o nome e nao tras as informacoes para serem alteradas
    avatar
    CassioFabre
    Developer
    Developer

    Respeito às Regras 100%

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

    Re: [Resolvido]Inclusão e alteração de Registros com menu de Aprovação

    Mensagem  CassioFabre em Qua 26 Abr 2017, 02:22

    Boa noite,

    A propriedade EOF do recordset indica que aquele registro é o ultimo da cadeia. É geralmente utilizado em loops para indicar quando o processo deve parar. No seu caso, ao invés disso, utilize if rs.RecordCount > 0 Then. Ficaria assim
    Código:
    Private Sub txtNome_AfterUpdate()
        If Not IsNull(txtNome) = True Then
            Set db = CurrentDb
            Set rs = db.OpenRecordset("select * from tbl where nome = '" & txtNome & "'")
           
            If rs.RecordCount > 0 Then
                txtNome = rs!nome
                txtEndereco = rs!endereco
                txtSalario = rs!salario
                txtCargo = rs!cargo
            Else
                Call limpaCampos
            End If
        Else
            Call limpaCampos
        End If
    End Sub

    Abraço.
    avatar
    FabioLeitao
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 21
    Registrado : 21/12/2016

    Re: [Resolvido]Inclusão e alteração de Registros com menu de Aprovação

    Mensagem  FabioLeitao em Sab 29 Abr 2017, 19:17

    Boa Tarde,

    Consegui criar a parte de inclusão utilizando o mesmo método de alteração que você mostrou, não criei uma tabela auxiliar para manter os dados até que seja aprovado, ao invés disso ele cria o registro na tabela e deixa os dados parados no campo AguardandoLiberação via
    Código:
    rs.Addnew
    após aprovação ele usa o
    Código:
    rs.edit
    embaixo e coloca eles na mesma linha.

    Estou com dois problemas que creio que seja simples.

    1° - Estou tendo problemas com o Botão "Sair" acredite se quiser.

    No formulário de Alteração tudo bem sem problema, mas no de inclusão tive de retirar o botão "X" de sair do formulário, caso contrario o usuário poderia digitar algo no formulário e fechar, mesmo que tivesse a mensagem de sair sem salvar o usuário poderia clicar no sim ou simplesmente fechar e o mesmo salvaria os dados sem ir para o próximo passo que seria a aprovação.

    Então o que eu fiz foi colocar no botão sair o seguinte codigo

    Código:
    Private Sub Sair_Click()
    If MsgBox("O Ultimo registro foi incluido para aprovação, deseja sair?", vbYesNo, "Sair") = vbYes Then
    DoCmd.SetWarnings False
    DoCmd.RunCommand acCmdDeleteRecord
    DoCmd.SetWarnings True
    MsgBox "Aguarde confirmação do responsável", vbInformation, "Aviso!"
    Else
    Cancel = True
    End If
    DoCmd.Close
    DoCmd.ClearMacroError
    End Sub

    Ele deleta o registro que a pessoa digitou e não clicou em Salvar para mandar para aprovação.

    Mas se a pessoa abrir o formulario e não digitar nada...não cria o numero do registro de autonumeração e o comando
    Código:
    DoCmd.RunCommand acCmdDeleteRecord
    apresenta erro pois não encontra nenhum registro para deletar.

    2° - Estou com problema para deixar inativo ou invisivel com 4 botões.

    "Aprovar inclusão", "Reprovar Inclusão", "Aprovar Alteração" e "Reprovar Alteração"

    Gostaria que quando o usuario clica-se no item da ListBox "CbxPendencias" de aprovação, caso o campo "cbxPendencias.Column(5)" for Alteração "tipoPendencia(2)" os botões "Aprovar Inclusão" e "Reprovar Inclusão" Fiquem INATIVOS ou INVISIVEIS e Vice-Versa com o  "Aprovar Alteração" e "Reprovar Alteração"

    Tentei utilizar o seguinte codigo


    Código:
    Private Sub Form_Current()
            If Me.cbxPendencias.Column(5) = tipoPendencia(2) Then 'Botão de Alteração
            Me.btneditar.Visible = True
    Else
            Me.btneditar.Visible = False
    End If
            If Me.cbxPendencias.Column(5) = tipoPendencia(1) Then 'Botão de Inclusão
            Me.btnincluir.Enabled = True
    Else
            Me.btnincluir.Visible = False
    End Sub


    Obrigado mais uma vez pela ajudar !! =)
    avatar
    CassioFabre
    Developer
    Developer

    Respeito às Regras 100%

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

    Re: [Resolvido]Inclusão e alteração de Registros com menu de Aprovação

    Mensagem  CassioFabre em Sab 29 Abr 2017, 20:52

    Boa tarde,

    Ao inves do comando de exclusão, tente:
    Código:
    me.undo

    - Coloque este mesmo código no evento Após Atualizar da em questão.

    Abraço.
    avatar
    FabioLeitao
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 21
    Registrado : 21/12/2016

    Re: [Resolvido]Inclusão e alteração de Registros com menu de Aprovação

    Mensagem  FabioLeitao em Sab 06 Maio 2017, 19:38

    Boa tarde, desculpem a demora para fechar o tópico.

    Tudo certo, demorou um pouco para conseguir adaptar a meus formulários.

    Mas funcionou tudo o que precisava, inclusão, alteração e reprovar inclusão e alteração.

    Obrigado pela ajuda Cássio.

    No método de inclusão, não utilizei uma tabela auxiliar para copiar o registro e depois salvar na original,só utilizei o RS.ADDNEW + RS.EDIT e o me.undo para não salvar o registro caso o formulário fosse fechado sem encaminhar para aprovação e para reprovar utilizei o RS.ADDNEW + RS.EDIT com o RS.EOF / MoveNext / RS.Delete.

    Como não usei tabela auxiliar, perco 01 registro toda vez que reprovo uma inclusão, más como não utilizo o campo de autonumeracao para nenhum controle interno e não utilizo vínculos em tabelas, tudo bem, é aceitável para as necessidades que preciso.

    Até+

    fnsouza
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12
    Registrado : 30/06/2014

    Re: [Resolvido]Inclusão e alteração de Registros com menu de Aprovação

    Mensagem  fnsouza em Dom 01 Out 2017, 03:27

    @FabioLeitao,

    Seria possível você anexar a última versão desse modelo.

    Preciso fazer algo parecido e me ajudaria muito.

    Grato,

    Fabricio

      Data/hora atual: Ter 21 Nov 2017, 19:01