MaximoAccess

Caro Usuário, não tire as suas duvidas nas Salas de Repositório, abra sempre um novo tópico relacionado, nas salas destinadas para o efeito, como Sala de Tabelas, Consultas, Formulários, Relatórios, Macros, Módulos e VBA.

Obrigado

Administração do MaximoAccess

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

    DMax com dois critérios

    Compartilhe

    Ribar
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 27
    Registrado : 12/08/2013

    DMax com dois critérios

    Mensagem  Ribar em Ter 03 Fev 2015, 19:00

    Olá pessoal,

    Necessito de ajuda:
    Tenho um controle de acesso do usuário, quando ele entra informa o nome, data e hora do acesso, pois bem
    em uma textbox consigo ter informação da ultima data de entrada (código abaixo).

    txtDataUser1 = DMax("[Data]", "[tblUsuarioData]", "[Nome]=" & "[txtUser1]")

    Mais o que não estou consegindo a buscar a ultima hora de acesso na ultima data ou seja, a última hora de acesso do usuário na última data ver código com erro abaixo.

    txtHoraUser1 = DMax("Hora", "tblUsuarioData", "[User1]=" & "[txtDataUser1]" And "[Data]=" & "[txtDataUser1]")

    Grato

    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2491
    Registrado : 29/06/2012

    Re: DMax com dois critérios

    Mensagem  Noobezinho em Ter 03 Fev 2015, 20:43

    Olá Fabio

    Caso a tabela tblUsuarioData for somente para controlar das entradas (acredito que seja na aplicação), a coisa se torna mais fácil
    Caso não tenha uma Id de cada gravação nessa tabela, adicione.
    Assim, poderá usar o dmax() do ultimo registro de determinado usuário.
    Mas para isso funcionar, talvez tenha que mudar o modo de gravar nessa tabela.
    Primeiro verifique nessa tabela se o usuário entrou digamos 3 vezes no dia, se está gravado esses registros.

    Então uma vez que a gravação está ok:

    No código abaixo, se obtêm o último registro do usuário.
    Dmax("[Id]","tblUsuarioData","[User1]=" & "[txtDataUser1]")

    Agora que temos o último registro do usuário, vamos procurar a data desse registro:


    txtHoraUser1= Dlookup("[Data]","tblUsuarioData";"[id] = " & Dmax("[Id]","tblUsuarioData","[User1]=" & "[txtDataUser1]"))



    *Observação: A palavra "Data" é palavra reservada do Access, é um função que retorna a data atual.
                                Evite usar palavras reservadas como nome de campos, use mdata, minhadata, menos "Data"

    Escrevi essas linhas aqui, é apenas um exemplo para se seguir.  Wink

    [ ]'s

    Noob


    .................................................................................
    Noobezinho

    * A solução funcionou?  [Você precisa estar registrado e conectado para ver esta imagem.] 
    Agradeça e feche o tópico clicando no botão Resolvido
    Se não sabe como, veja [Você precisa estar registrado e conectado para ver este link.].

    Como anexar imagem no teu post do fórum : [Você precisa estar registrado e conectado para ver este link.]

    * Criar arquivos.zip com o Winrar - veja [Você precisa estar registrado e conectado para ver este link.].

    Atualmente estou verificando se quem está pedindo ajuda, ajudamos e não retornou.
    Se a pessoa em questão não deu retorno, não tentarei ajudar novamente .

      Data/hora atual: Seg 05 Dez 2016, 16:30