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

    [Resolvido]Verificar campo com Dlookup

    Compartilhe

    Ney Santos
    Intermediário
    Intermediário

    Respeito às Regras 75%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 145
    Registrado : 23/05/2011

    [Resolvido]Verificar campo com Dlookup

    Mensagem  Ney Santos em Ter 3 Mar - 19:07

    Boa noite!
    Amigos pesquisei aqui e vi vários Topicos falando da função Dlookup,
    porém nada parecido com o que preciso:
    Tenho uma tabela Chamada TBL_CAD_MESA preciso inserir um novo registro nessa tabela, porem antes
    precisava que a função Dlookup verficasse se o numero da mesa ja existe na tabela.
    se não existir então um novo registro seria inserido.
    Até aqui td bem, porem o próximo passo seria inserir um registro se o numero da mesa existir e um outro campo da tabela chamada "STATUS",
    for igual fechado.
    abaixo o código que insere o registro na tabela:

    Private Sub BtnAbrir_Click()
    Dim db As DAO.Database
    Dim rs As DAO.Recordset



    Set db = CurrentDb()
    Set rs = db.OpenRecordset("TBL_CAD_MESA")


    rs.AddNew
    rs.Fields("COD_MESA") = Me.COD_MESA_DET
    rs.Fields("DESCRICAO_MESA") = "MESA " & Me.COD_MESA_DET
    rs.Fields("STATUS") = "LANÇADO "
    rs.Update
    DoCmd.OpenForm "Frm_Fechar_Mesa"

    End Sub
    antes do código acima ser executado precisava que o Dlookup verificasse os registros na tabela.
    Ou seja somente inserir um novo registro se a mesa ja estiver fechada, ou se não existir na tabela.
    Alguém tem ideia de como executar a função usando o filtro do campo "STATUS"?

    Desde já agradeço pela atenção.


    Última edição por Ney Santos em Qui 5 Mar - 9:48, editado 1 vez(es)

    Avelino Sampaio
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3348
    Registrado : 04/04/2010

    Re: [Resolvido]Verificar campo com Dlookup

    Mensagem  Avelino Sampaio em Qua 4 Mar - 5:29

    Olá!

    Melhor vc utilizar a função Dcount()

    if Dcount("cod_mesa","tbl_cad_mesa","cod_mesa = " & me!cod_mesa_det) > 0 then
      ' a mesa já existe
    else
      ' a mesa não existe
    end if


    Aguardamos


    .................................................................................
    ============ Quer aprender Access em alta velocidade ? ============

    || [Você precisa estar registrado e conectado para ver esta imagem.] Acesse o site UsandoAccess.com.br e veja um ótimo kit de ensino que tenho para você.

    ===========================================================

    Ney Santos
    Intermediário
    Intermediário

    Respeito às Regras 75%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 145
    Registrado : 23/05/2011

    Obrigado

    Mensagem  Ney Santos em Qua 4 Mar - 11:10

    Bom dia mestre Avelino!
    Grato pelo retorno.
    O problema é que para não cadastrar a mesa novamente, a condição seria se o campo"STATUS"
    da tabela estivesse como "Lançado", pois quando a mesa for paga esse campo irar mudar, para "Fechado"
    indicando que a referida mesa esta sendo aberta novamente.
    a função que voce me passou funcionou perfeitamente no caso da primeira abertura da mesa, porem se eu estiver abrindo a mesa novamente não consigo cadastrar.

    Ney Santos
    Intermediário
    Intermediário

    Respeito às Regras 75%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 145
    Registrado : 23/05/2011

    Re: [Resolvido]Verificar campo com Dlookup

    Mensagem  Ney Santos em Qui 5 Mar - 2:37

    Para explicar melhor:
    se na tabela "tbl_cad_mesa" existir o numero da mesa, preciso que a função verifique se o campo "Status" dessa tabela esteja como "FECHADO"
    para adicionar um novo registro.
    Caso o campo "STATUS " esteja diferente de "FECHADO" o registro não seria adicionado.
    tentei diversas formas nao deu certo, nao sei como inserir esse filtro na função

    Avelino Sampaio
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3348
    Registrado : 04/04/2010

    Re: [Resolvido]Verificar campo com Dlookup

    Mensagem  Avelino Sampaio em Qui 5 Mar - 10:18

    Experimente

    if Dcount("cod_mesa","tbl_cad_mesa","cod_mesa = " & me!cod_mesa_det & " AND Status = 'fechado'") > 0 then
    ' a mesa esta livre
    else
    ' a mesa está ocupada
    end if


    Aguardamos


    .................................................................................
    ============ Quer aprender Access em alta velocidade ? ============

    || [Você precisa estar registrado e conectado para ver esta imagem.] Acesse o site UsandoAccess.com.br e veja um ótimo kit de ensino que tenho para você.

    ===========================================================

    Ney Santos
    Intermediário
    Intermediário

    Respeito às Regras 75%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 145
    Registrado : 23/05/2011

    Re: [Resolvido]Verificar campo com Dlookup

    Mensagem  Ney Santos em Sex 6 Mar - 10:32

    Prezado Avelino . fiz uma pequena correção no código de inserção
    pois eu mesmo havia me equivocado na hora de escreve-lo.
    juntei com sua dica e está funcionado.
    muito obrigado!

      Data/hora atual: Sab 3 Dez - 17:39