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

    Impedir Registros na Tabela

    avatar
    marcosdcma
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 29
    Registrado : 02/02/2011

    Impedir Registros na Tabela Empty Impedir Registros na Tabela

    Mensagem  marcosdcma 19/11/2012, 16:26

    Boa tarde galera! aos mestres dos Access!
    Bem pessoal, gostaria que vocês pudessem me dar uma ajuda nessa função abaixo:
    Ela está gerando certinho na tabela, porém se clicar novamente no botão ela inclui o mesmo registro novamente...
    o certo seria incluir outro registro somente se o campo “Efetivar” estiver clicado (ok),
    se o campo estiver “false”(não clicado) então dispara a mensagem:
    “Período concessivo de férias não foi efetivado” esse campo “Efetivar” é um campo da (Tabela_Funcionarios_Ferias)
    tipo (Sim/Não), apenas isso por enquanto resolveria meu problema.


    Segue a função:
    Dim Rs As Recordset
    DoCmd.RunCommand acCmdRefresh
    If Me.CódigoCliente = "" Or IsNull(Me.CódigoCliente) Or Me.CódigoCliente = 0 Then
    Else
    Set Rs = CurrentDb.OpenRecordset("Tabela_Funcionarios_Ferias", dbOpenDynaset)
    Rs.AddNew
    Rs![Id_Funcionarios_Ferias] = Me.CódigoCliente
    Rs![PeriodoAquisicaoI] = [DataAdmissao]
    Rs![PeriodoAquisicaoF] = ([DataAdmissao] + 364)
    Rs![PeriodoGozoI] = ([DataAdmissao] + 365)
    Rs![PeriodoGozoF] = (([DataAdmissao] + 365) + 364)
    Rs.Update
    Rs.Close
    Set Rs = Nothing
    Me.Frm_Funcionarios_Ferias.Requery
    MsgBox "Período aquisitivo e concessivo inseridos com Sucesso!", vbInformation, "Férias"
    End If

    avatar
    Convidad
    Convidado


    Impedir Registros na Tabela Empty Re: Impedir Registros na Tabela

    Mensagem  Convidad 19/11/2012, 16:46

    corrigido;


    DoCmd.RunCommand acCmdRefresh
    Dim Rs As Recordset
    Set Rs = CurrentDb.OpenRecordset("Tabela_Funcionarios_Ferias", dbOpenDynaset)

    If Me.CódigoCliente = "" Or IsNull(Me.CódigoCliente) Or Me.CódigoCliente = 0 Then Exit Sub

    If Me.Efetivar.Value = -1 Then
    Rs.AddNew
    Rs![Id_Funcionarios_Ferias] = Me.CódigoCliente
    Rs![PeriodoAquisicaoI] = [DataAdmissao]
    Rs![PeriodoAquisicaoF] = ([DataAdmissao] + 364)
    Rs![PeriodoGozoI] = ([DataAdmissao] + 365)
    Rs![PeriodoGozoF] = (([DataAdmissao] + 365) + 364)
    Rs.Update
    Rs.Close
    Me.Frm_Funcionarios_Ferias.Requery
    MsgBox "Período aquisitivo e concessivo inseridos com Sucesso!", vbInformation, "Férias"
    End If
    Set Rs = Nothing
    End If


    avatar
    marcosdcma
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 29
    Registrado : 02/02/2011

    Impedir Registros na Tabela Empty Impedir Registros na Tabela

    Mensagem  marcosdcma 20/11/2012, 12:29

    Bom dia Galera!
    Ainda não tive sucesso na correção desse código!
    o problema é que quando vou compilar ele apresenta
    a seguinte mensagem "método ou membro de dados não encontrado"
    reclama dessa linha "If Me.Efetivar.Value = -1 Then
    porém o campo está certinho na tabela.

    seria mais ou menos assim:
    se não tiver registro na tabela daquele cliente ele insere normalmente.
    se tiver registro na tabela daquele cliente ele verifica se
    o campo "Efetivar" está false ou true
    se tiver false (sem clikar)ele dispara a mensagem “Período concessivo de férias não foi efetivado"
    e não deixa inserir outra linha de registro.
    se tiver true ele deixa inserir normalmente.

    se alguém puder corrigir novamente pra mim, agradeço!
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 11026
    Registrado : 04/11/2009

    Impedir Registros na Tabela Empty Re: Impedir Registros na Tabela

    Mensagem  JPaulo 20/11/2012, 14:36

    Me.Efetivar refere-se ao seu campo Efetivar no formulário.

    Esse código está num formulario ou num modulo ?


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    Impedir Registros na Tabela Folder_announce_new Utilize o Sistema de Busca do Fórum...
    Impedir Registros na Tabela Folder_announce_new 102 Códigos VBA Gratuitos...
    Impedir Registros na Tabela Folder_announce_new Instruções SQL como utilizar...
    avatar
    marcosdcma
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 29
    Registrado : 02/02/2011

    Impedir Registros na Tabela Empty Impedir Registros na Tabela

    Mensagem  marcosdcma 21/11/2012, 19:40

    JPaulo.
    Esse código está num formulário
    na verdade está num botão de comando do formulário de clientes.
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 11026
    Registrado : 04/11/2009

    Impedir Registros na Tabela Empty Re: Impedir Registros na Tabela

    Mensagem  JPaulo 21/11/2012, 19:53

    Então não pode ter problemas nesse Me.Efetivar, no arranjo do Mario;

    Verifique se esse campo Sim/Não no formulario tem mesmo o nome de "Efetivar"


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    Impedir Registros na Tabela Folder_announce_new Utilize o Sistema de Busca do Fórum...
    Impedir Registros na Tabela Folder_announce_new 102 Códigos VBA Gratuitos...
    Impedir Registros na Tabela Folder_announce_new Instruções SQL como utilizar...
    avatar
    marcosdcma
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 29
    Registrado : 02/02/2011

    Impedir Registros na Tabela Empty Impedir Registros na Tabela

    Mensagem  marcosdcma 22/11/2012, 13:40

    Então JPaulo!/Mario Fernandes ou outro Mestre do Forum!
    Acho que eu devo ter me confundido aqui
    na hora de implementar o código, mas ainda está dando a mesma mensagem.

    Tomei a liberdade de enviar o banco para que vcs. possam me dar uma ajuda
    na correção desse código. Lembrando que:
    se não tiver registro na tabela daquele cliente ele insere normalmente.
    se tiver registro na tabela daquele cliente ele verifica se
    o campo "Efetivar" está false ou true
    se tiver false (sem clikar)ele dispara a mensagem “Período concessivo de férias não foi efetivado"
    e não deixa inserir outra linha de registro.
    se tiver true ele deixa inserir normalmente.

    se vc. ou mário puder corrigir novamente pra mim, agradeço!
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 11026
    Registrado : 04/11/2009

    Impedir Registros na Tabela Empty Re: Impedir Registros na Tabela

    Mensagem  JPaulo 22/11/2012, 13:57

    Onde está o anexo ?


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    Impedir Registros na Tabela Folder_announce_new Utilize o Sistema de Busca do Fórum...
    Impedir Registros na Tabela Folder_announce_new 102 Códigos VBA Gratuitos...
    Impedir Registros na Tabela Folder_announce_new Instruções SQL como utilizar...
    avatar
    marcosdcma
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 29
    Registrado : 02/02/2011

    Impedir Registros na Tabela Empty Impedir Registros na Tabela

    Mensagem  marcosdcma 22/11/2012, 17:33

    JPaulo,
    Segue anexo
    avatar
    marcosdcma
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 29
    Registrado : 02/02/2011

    Impedir Registros na Tabela Empty Impedir Registros na Tabela

    Mensagem  marcosdcma 22/11/2012, 17:40

    JPaulo,
    Segue anexo
    Anexos
    Impedir Registros na Tabela AttachmentSIGA.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (972 Kb) Baixado 3 vez(es)
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 11026
    Registrado : 04/11/2009

    Impedir Registros na Tabela Empty Re: Impedir Registros na Tabela

    Mensagem  JPaulo 22/11/2012, 17:50

    Veja o simples;
    Mas tente aprender, que o seu botão está no formulário e o campo Efetivar está no subformulario, logo a instrução estava errada;

    Teste;


    Private Sub GerarFerias_Click()
    DoCmd.RunCommand acCmdRefresh
    Dim Rs As Recordset
    Set Rs = CurrentDb.OpenRecordset("Tabela_Funcionarios_Ferias", dbOpenDynaset)

    If Me.CódigoCliente = "" Or IsNull(Me.CódigoCliente) Or Me.CódigoCliente = 0 Then Exit Sub

    If Forms!Frm_Funcionarios!Frm_Funcionarios_Ferias.Form!Efetivar.Value = -1 Then
    Rs.AddNew
    Rs![Id_Funcionarios_Ferias] = Me.CódigoCliente
    Rs![PeriodoAquisicaoI] = [DataAdmissao]
    Rs![PeriodoAquisicaoF] = ([DataAdmissao] + 364)
    Rs![PeriodoGozoI] = ([DataAdmissao] + 365)
    Rs![PeriodoGozoF] = (([DataAdmissao] + 365) + 364)
    Rs.Update
    Rs.Close
    Me.Frm_Funcionarios_Ferias.Requery
    MsgBox "Período aquisitivo e concessivo inseridos com Sucesso!", vbInformation, "Férias"
    Else
    MsgBox "Período concessivo de férias não foi efetivado...", vbCritical
    Exit Sub
    End If
    Set Rs = Nothing
    End Sub




    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    Impedir Registros na Tabela Folder_announce_new Utilize o Sistema de Busca do Fórum...
    Impedir Registros na Tabela Folder_announce_new 102 Códigos VBA Gratuitos...
    Impedir Registros na Tabela Folder_announce_new Instruções SQL como utilizar...
    avatar
    marcosdcma
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 29
    Registrado : 02/02/2011

    Impedir Registros na Tabela Empty Impedir Registros na Tabela

    Mensagem  marcosdcma 23/11/2012, 18:19

    Olá JPaulo,
    Eu entendi da forma como vc. refez o código
    esse é o raciocínio mesmo.
    porém se não tiver lançamento nenhum ele também não deixa gerar o registro.
    o correto é:
    quando não existir lançamento para aquele cliente
    ele permiti gerar o lançamento, e a partir desse registro
    ele vai verifica forçando o usuário a efetivar o período antes
    do próximo registro.

    Se puder me dá uma ajuda novamente, agradeço!
    avatar
    marcosdcma
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 29
    Registrado : 02/02/2011

    Impedir Registros na Tabela Empty Impedir Registros na Tabela

    Mensagem  marcosdcma 27/11/2012, 11:23

    Olá JPaulo, Bom dia!

    Eu entendi da forma como vc. refez o código
    esse é o raciocínio mesmo.
    porém se não tiver lançamento nenhum para um determinado cliente
    ele também não deixa gerar o registro. e se tiver algum período efetivado
    ele também permiti registrar outros períodos.

    o correto é:
    quando não existir lançamento para aquele cliente
    ele permiti gerar o lançamento, e a partir desse registro
    ele vai verifica forçando o usuário a efetivar o período antes
    do próximo registro.

    Se puder me dá uma ajuda novamente, agradeço!
    avatar
    marcosdcma
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 29
    Registrado : 02/02/2011

    Impedir Registros na Tabela Empty Gravar registros na tabela

    Mensagem  marcosdcma 28/11/2012, 18:58


    Olá JPaulo, Bom dia!

    em relação ao código que vc. refez ficou legal
    esse é o raciocínio mesmo.

    porém se não tiver lançamento nenhum para um determinado cliente
    ele também não deixa gerar o registro. e se tiver algum período efetivado
    ele também permiti registrar outros períodos.

    o correto é:
    quando não existir lançamento para aquele cliente
    ele permiti gerar o lançamento, e a partir desse registro
    ele vai verifica forçando o usuário a efetivar o período antes
    do próximo registro.

    Se puder me dá uma ajuda novamente, agradeço!

    Conteúdo patrocinado


    Impedir Registros na Tabela Empty Re: Impedir Registros na Tabela

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 22/11/2024, 07:39