Referência a um campo do subformulário
Nota importante: para ter acesso aos vídeos e arquivos exemplos deste site, adquira um dos planos apresentados abaixo. Você pode comprar em até 5x no Cartão de Crédito.
Veja como comprar e saiba mais sobre o material oferecido, clicando aqui.
Usuário Dico:
Mestre Avelino,
pretendo que a propriedade visível de alguns controles assuma o valor "true", se um determinado campo de um subformulário estiver vazio (IsNull ?). O subformulário está com as propriedades de inclusão e exclusão de registro desabilitadas, e os dados são limitados por dois campos data, de tal forma que hoje pode aparecer um registro neste subformulário e depois de passada a data registrada no campo "dt_início", não vai aparecer mais nenhum registro. Neste momento, o sistema deve permitir que se inclua novo registro para data futura. Então, sempre terei, no máximo, um registro neste subformulário.
Usei o código abaixo com a MsgBox para servir de teste, mas o sistema exibe continuamente a mensagem e sempre torna o botão visível.
Faça o login aqui para ter acesso ao código.
A parte em vermelho é o nome do campo, usando a construção como eu já utilizei como critério de uma consulta-filtro de um formulário de um outro sistema.
Abraço.
Suporte:
Dico, desabilite temporariamente a linha "On Error Resume Next" para você saber se acusa erro no código.
Se você está no formulário principal, pode substituir o Forms![Frm_Pessoas_Edição_Cobrança] pelo ME!
Faça o login aqui para ter acesso ao código.
Leia este meu artigo, sobre referenciar objetos no Access.
Usuário Dico:
Avelino, boa noite.
Avançamos um pouco! Desabilitei a linha "On Error..." e não mudei muito a referência - o nome do controle subformulário é diferente do nome do formulário que está inserido. Também desabilitei a linha da MsgBox, que era um artifício para verificar o funcionamento do código. Então, ficou assim:
Faça o login aqui para ter acesso ao código.
É possível afirmar que o código está funcionando, porque não deu erro, mas também não tornou o botão visível. Tenho uma suspeita sobre o que está errado: o subformulário, como falei antes, está montado para exibir nenhuma linha ou apenas uma linha com conteúdo. Parece que a crítica do campo "Cód_Cobrança" não retorna Null, se não existe nenhuma linha no subformulário. Assim como não retorna Null, se existe uma linha com conteúdo no campo criticado.
Também experimentei inverter a função (passei para Not IsNull) e trocar por IsEmpty, mas continuou não funcionando.
Suporte:
Dico, então veja se com a contagem de registros do subForm funciona. Exemplo:
Faça o login aqui para ter acesso ao código.
Usuário Dico:
Tchê, como é que a Microsoft ainda não te levou para o vale do silício?
O código funcionou com a alteração proposta.
Obrigado
1 comentário(s) Silvio 01/04/2020 17:39:54 Estou com um projeto onde tenho dois subformularios, no primeiro o usuario ira realizar a bipagem da chave de acesso da nota fiscal, no segundo irá mostrar o numero da nota fiscal, até ai tranquilo, o problem ´que essa nota fiscal deve ser vinculada a um numero de pedido onde o campo esta em um formulario. A ideia é que os campos do subformulario onde irá ser bipado a chave de acesso seja liberado apenas quando os dados dos campos do formulario sejam preenchidos e mostre apenas as notas referentes aos pedidos que está no campo do formulario. |