MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

Obrigado

Administração do MaximoAccess

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

    Limitar a um número específico de registros da mesma categoria.

    avatar
    samueldrun
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 68
    Registrado : 22/09/2017

    Limitar a um número específico de registros da mesma categoria. Empty Limitar a um número específico de registros da mesma categoria.

    Mensagem  samueldrun em 7/8/2019, 04:02

    Boa Noite mestres,

    Então eu tenho um formulário onde é montado um cardápio, porém gostaria de gerar um aviso caso fosse incluído por exemplo: três pratos da categoria sopa ou dois pratos da categoria sobremesas, se fosse apenas para localizar duplicados tudo bem, porém o número de pratos de cada categoria varia, alguns são permitidos 2 repetições outro apenas 1 outros 3 alguém pode me ajudar ?
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2515
    Registrado : 22/11/2016

    Limitar a um número específico de registros da mesma categoria. Empty Re: Limitar a um número específico de registros da mesma categoria.

    Mensagem  DamascenoJr. em 7/8/2019, 04:28

    se fosse apenas para localizar duplicados tudo bem
    é a mesma lógica

    Utilize a função DCount para saber quantos pratos de determinada categoria já existem e quando necessário alertar o usuário

    No evento desejado, use

    Código:
    If dcount("*","tblPratos","categoria = """ & "CategoriaFulana" & """")=3 then
      msgbox "já existem três pratos para a categoria fulana"
      ...
    end if


    .................................................................................
    Ajude-se a ser ajudado, anexe seu projeto.
    Sempre tente entender o código,
    não somente copie e cole.
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.
    avatar
    samueldrun
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 68
    Registrado : 22/09/2017

    Limitar a um número específico de registros da mesma categoria. Empty Limitar a um número específico de registros da mesma categoria

    Mensagem  samueldrun em 8/8/2019, 01:49

    Boa noite IvanJr,

    certo, e como posso buscar como referencia uma tabela com essas regras, por exemplo, eu tenho uma tabela x onde tem quantos pratos de cada categoria são aceitos, como posso fazer esse dcount contar os pratos com a mesma categoria buscando o limite dessa tabela x ?
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2515
    Registrado : 22/11/2016

    Limitar a um número específico de registros da mesma categoria. Empty Re: Limitar a um número específico de registros da mesma categoria.

    Mensagem  DamascenoJr. em 8/8/2019, 02:24

    Código:
    If dcount("*","tblPratos","categoria = """ & "CategoriaFulana" & """") = dlookup("CampoQtdAceita", "TabelaX", "categoria = """ & "CategoriaFulana" & """") then
      msgbox "já existem a quantidade máxima de pratos para a categoria escolhida"
      ...
    end if


    .................................................................................
    Ajude-se a ser ajudado, anexe seu projeto.
    Sempre tente entender o código,
    não somente copie e cole.
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.
    avatar
    samueldrun
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 68
    Registrado : 22/09/2017

    Limitar a um número específico de registros da mesma categoria. Empty Limitar a um número específico de registros da mesma categoria

    Mensagem  samueldrun em 8/8/2019, 04:14

    Boa noite, funcionou, só que pratos sem um numero estabelecido na tabela x ele da a mensagem com apenas uma inserção tem como contornar isso ? tipo pra ele aplicar a regra somente para os pratos em que ele encontrar registro e os outros deixar livre ?
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2515
    Registrado : 22/11/2016

    Limitar a um número específico de registros da mesma categoria. Empty Re: Limitar a um número específico de registros da mesma categoria.

    Mensagem  DamascenoJr. em 8/8/2019, 04:26

    Evite ficar criando exceções no código. Isso dificultará a manutenção. Basta estabelecer um limite na tabela X de 1.000 pratos para a tal categoria.

    Ou, use a função Dcount para procurar se existe registro na tabela de limitações, e caso exista aplicar o código. Não recomendo isso.



    .................................................................................
    Ajude-se a ser ajudado, anexe seu projeto.
    Sempre tente entender o código,
    não somente copie e cole.
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.

      Data/hora atual: 16/1/2021, 11:43