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

    Botão inserir hora atual, desmarcar caixa de seleção.

    mrcsantos
    mrcsantos
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 6
    Registrado : 25/11/2015

    Botão inserir hora atual, desmarcar caixa de seleção. Empty Botão inserir hora atual, desmarcar caixa de seleção.

    Mensagem  mrcsantos 21/12/2015, 23:20

    Estou criando um sistema para cadastro de visitantes em escola, onde posso visualizar os visitantes presentes e, na saída de cada visitante, eu clicaria num botão que automaticamente registraria a hora de saída e desmarcaria a opção presente, na caixa de seleção. Já pesquisei bastante na Net como fazer, usei exemplos de linha de comando encontrados, mas não estou conseguindo solucionar o problema.
    Colocarei o link do BD aqui, para utilização e melhoramento. Ele está aberto para alteração, sem nenhum problemas. Criei o mesmo baseado em vários exemplos que pesquisei na Net e não seria justo de minha parte privar outros usuários do pouco que já fiz.

    SisConVis (Desativei o link para poder colocar um mais atualizado)

    Esmiuçando o Sistema:
    tbl_visita; tbl_visitante; tbl_setor; tbl_estado; tbl_tipovisita, cns_estatistica_por_periodo; cns_presentes; frm_cadastro_visitante; frm_entrada_visita; frm_menu_principal; frm_saida_visita; frm_visita; subfrm_presentes, Macros(AbreCadastroVisitante; RegistrarEntrada)

    A ideia é poder cadastrar cada visitante com dados pessoais e foto, registrar cada entrada sua na escola e poder gerar, assim que necessário, relatórios sobre sua entrada ou de quaisquer outras pessoas, seja individualmente ou por período.  
    Ainda não entrei na fase dos Relatórios, mas não encontrarei problemas pois não é tão difícil.

    Estou achando dificuldade na hora de registrar a saída do visitante. O sistema abre o Formulário Menu Principal (frm_menu_principal), onde existe um subformulário (subfrm_presentes). Quando clico em um determinado visitante do subformulário, abre o formulário frm_saida_visita filtrado pelo "id". Nesse formulário coloquei um botão que executaria o comando de inserir a hora de saída na caixa de texto "hora_saida" e desmarcaria a caixa de seleção "presente", mas aparece o erro "O tipo definido pelo usuário não foi definido"
    O Comando:
    CurrentDb.Execute "INSERT INTO ([frm_visita]![hora_saida]) Values (#" & Time & "#);"
    Acredito que seja devido o formulário estar filtrado pelo "id" e com  isso o comando não pode ser executado. Alguém pode me tirar essa dúvida?
    Ps.: Coloquei um botão no formulário principal para inserir a hora de saída na tbl_visita e executa normalmente, só que em novo registro. (CurrentDb.Execute "INSERT INTO tbl_visita(hora_saida) Values (#" & Time & "#);")


    Última edição por mrcsantos em 2/1/2016, 00:00, editado 1 vez(es)
    rubenscouto
    rubenscouto
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

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

    Botão inserir hora atual, desmarcar caixa de seleção. Empty Re: Botão inserir hora atual, desmarcar caixa de seleção.

    Mensagem  rubenscouto 22/12/2015, 09:13

    Percebi algumas coisas no seu Bd que valem a pena corrigir:
    há um codigo chamado "Private Sub EmployeesBindingNavigatorSaveItem_Click" que está no seu banco de dados e está atrapalhando todos os outros codigos de serem executados. No exemplo que eu baixei aqui eu excluir ele e os outros funcionaram muito bem.
    Outra coisa: vi que no seu cadastro de visitas tem o campo "data" e o campo "hora_entrada". se há a exigencia de campos de entradas terá que colocar também os campos "data_saida" e "hora_saida" porque pode acontecer de uma pessoa entrar em um dia e sair no outro.
    no caso do comando currentdb.execute terá que efetuar um comando de atualização na tabela de saida, pois o que está a fazer é atualizar a hora de saida do visitante. Para que você consiga visualizar a informação atualizada, terá que pedir o comando requery no formulario principal, caso contrario a informação vai está lá, mas não vai aparecer instantaneamente pra você ver no formPrincipal. O seu formulario de visitas é vinculado, não há a necessidade de efetuar comandos de atualização, basta atribuir o valor que você quer ao campo com o comando "me.Seucampohorasaida = now()" e "me.seucampoDataSaida = date()". Qualquer coisa é só falar...

    Estude o exemplo que segue em anexo.
    mrcsantos
    mrcsantos
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 6
    Registrado : 25/11/2015

    Botão inserir hora atual, desmarcar caixa de seleção. Empty Re: Botão inserir hora atual, desmarcar caixa de seleção.

    Mensagem  mrcsantos 23/12/2015, 00:18

    Boa noite rubescouto,
    Durante o dia mexi no BD e fiz as alterações que você me passou, funcionaram perfeitamente. Tem alguns detalhes pra corrigir, mas com o tempo vou acertando. No formulário de saída (frm_saida_visita) retirei os campos da data e hora de entrada e acrescentei o "data_saida"  e "hora_saida" nos quais adicionei os valores =Date() e =Tempo(), respectivamente. No botão "Registrar Saída" coloquei o evento abaixo:

    Private Sub RegistroSaida_Click()    
       Dim Ctl As Control
       For Each Ctl In Me.Controls
       If Ctl.ControlType = acCheckBox Then
       Ctl.Value = 0 '0 para desmarcado, -1 para marcado
     
       Else    ' O usuário escolheu Não.
           DoCmd.CancelEvent  ' Executa alguma ação.

       End If
       Next
    End Sub
       


    O único problema que ainda estou tendo é que quando cancelo a ação do botão ele não marca novamente a caixa de seleção.


    PS.; Mais uma vez, obrigado por sua ajuda anterior.
    rubenscouto
    rubenscouto
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

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

    Botão inserir hora atual, desmarcar caixa de seleção. Empty Re: Botão inserir hora atual, desmarcar caixa de seleção.

    Mensagem  rubenscouto 24/12/2015, 18:31

    tente colocar logo após o else o comando
    me.undo
    Lupércio
    Lupércio
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1143
    Registrado : 07/05/2011

    Botão inserir hora atual, desmarcar caixa de seleção. Empty Re: Botão inserir hora atual, desmarcar caixa de seleção.

    Mensagem  Lupércio 27/12/2015, 19:14

    Amigo boa tarde!
    Teste assim,
    Defina: seu campo hora da saída para o formato hora abreviada.
    No clique do botão defina:

    Private Sub RegistroSaida_Click()
    Me.hora_saida = Now
    Dim x As Long

    x = Me.CurrentRecord
    Me.Recordset.MoveFirst
    Do While Not Me.Recordset.EOF
    Me.presente.Value = True
    Me.Recordset.MoveNext
    Loop
    Me.Recordset.MoveFirst
    If x > 1 Then Me.Recordset.Move x - 1

    End Sub


    .................................................................................
    Quando tua dúvida for resolvida, de o retorno de agradecimento á aqueles que gastaram seu tempo para te ajudar.
    Clique no botão “Resolvido” logo acima do botão “Enviar” ao lado direito. Todos nós agradecemos.lol!Rolling Eyes
    Lupércio
    Lupércio
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1143
    Registrado : 07/05/2011

    Botão inserir hora atual, desmarcar caixa de seleção. Empty Re: Botão inserir hora atual, desmarcar caixa de seleção.

    Mensagem  Lupércio 27/12/2015, 19:16

    Se quiser marcar e desmarcar a caixa de opção
    E lançar e retirar hora no mesmo botão defina:

    Private Sub RegistroSaida_Click()
    Me.hora_saida = Now
    Dim x As Long
    x = Me.CurrentRecord
    Me.Recordset.MoveFirst
    If Me.presente.Value = False Then
    Do While Not Me.Recordset.EOF
    Me.presente.Value = True
    Me.Recordset.MoveNext
    Loop
    Me.Recordset.MoveFirst
    If x > 1 Then Me.Recordset.Move x - 1

    ElseIf Me.presente.Value = True Then
    Me.hora_saida = ""
    x = Me.CurrentRecord
    Me.Recordset.MoveFirst
    Do While Not Me.Recordset.EOF
    Me.presente.Value = False
    Me.Recordset.MoveNext
    Loop
    Me.Recordset.MoveFirst
    If x > 1 Then Me.Recordset.Move x - 1
    End If
    End Sub


    .................................................................................
    Quando tua dúvida for resolvida, de o retorno de agradecimento á aqueles que gastaram seu tempo para te ajudar.
    Clique no botão “Resolvido” logo acima do botão “Enviar” ao lado direito. Todos nós agradecemos.lol!Rolling Eyes
    mrcsantos
    mrcsantos
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 6
    Registrado : 25/11/2015

    Botão inserir hora atual, desmarcar caixa de seleção. Empty Re: Botão inserir hora atual, desmarcar caixa de seleção.

    Mensagem  mrcsantos 28/12/2015, 23:01

    Lupércio, boa noite meu amigo.
    Tentei das duas maneiras que você postou, mas não funcionaram nenhuma das duas, não sei porque.
    Fiz como o rubenscouto mencionou, colocando o me.undo após o else e funcionou perfeitamente.

    Em breve postarei outro link do BD mais evoluido.

    Grande abraço a todos. E obrigadão.
    mrcsantos
    mrcsantos
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 6
    Registrado : 25/11/2015

    Botão inserir hora atual, desmarcar caixa de seleção. Empty Re: Botão inserir hora atual, desmarcar caixa de seleção.

    Mensagem  mrcsantos 2/1/2016, 01:30

    O programa mais encorpado.
    Livre para alteração. Acrescentem aqui suas ideias.


    SisConVis
    rubenscouto
    rubenscouto
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

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

    Botão inserir hora atual, desmarcar caixa de seleção. Empty Re: Botão inserir hora atual, desmarcar caixa de seleção.

    Mensagem  rubenscouto 9/1/2016, 18:28

    coloque no timer do seu formulario Controle de visitantes um recalc para atualizar o tempo que cada usuario tem dentro da empresa. e com intervalo de 30 segundos.

    Conteúdo patrocinado


    Botão inserir hora atual, desmarcar caixa de seleção. Empty Re: Botão inserir hora atual, desmarcar caixa de seleção.

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 21/11/2024, 17:03