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]Verificar campo com Dlookup

    Compartilhe
    avatar
    Ney Santos
    Intermediário
    Intermediário

    Respeito às Regras 75%

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

    [Resolvido]Verificar campo com Dlookup

    Mensagem  Ney Santos em Ter 03 Mar 2015, 22: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 05 Mar 2015, 12:48, editado 1 vez(es)
    avatar
    Avelino Sampaio
    Moderador
    Moderador

    Respeito às Regras 100%

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

    Re: [Resolvido]Verificar campo com Dlookup

    Mensagem  Avelino Sampaio em Qua 04 Mar 2015, 08: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
    avatar
    Ney Santos
    Intermediário
    Intermediário

    Respeito às Regras 75%

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

    Obrigado

    Mensagem  Ney Santos em Qua 04 Mar 2015, 14: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.
    avatar
    Ney Santos
    Intermediário
    Intermediário

    Respeito às Regras 75%

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

    Re: [Resolvido]Verificar campo com Dlookup

    Mensagem  Ney Santos em Qui 05 Mar 2015, 05: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
    avatar
    Avelino Sampaio
    Moderador
    Moderador

    Respeito às Regras 100%

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

    Re: [Resolvido]Verificar campo com Dlookup

    Mensagem  Avelino Sampaio em Qui 05 Mar 2015, 13: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
    avatar
    Ney Santos
    Intermediário
    Intermediário

    Respeito às Regras 75%

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

    Re: [Resolvido]Verificar campo com Dlookup

    Mensagem  Ney Santos em Sex 06 Mar 2015, 13: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: Qui 21 Set 2017, 20:32