MaximoAccess

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

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

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

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

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


2 participantes

    Desbloquear ou bloquear campos conforme informação inserida no primeiro

    avatar
    leila ferreira
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Portugal
    Mensagens : 40
    Registrado : 22/10/2013

    Desbloquear ou bloquear campos conforme informação inserida no primeiro Empty Desbloquear ou bloquear campos conforme informação inserida no primeiro

    Mensagem  leila ferreira 22/10/2013, 12:01

    Boa Tarde!

    Sou iniciante no access, já consigo fazer algumas coisas e já fiz várias procuras no vosso forum que me ajudou em várias circunstâncias.
    Embora isso, ainda não consegui obter o tópico que necessito.
    já vi aqui tópicos sobre preenchimento obrigatório de células. também inseri no meu esse exemplo.

    Passo a explicar a minha situação.

    No formulário tenho vários tópicos a serem preenchidos com números.
    Por exemplo, no tópico "saúde, precária ou dependência" posso escolher 3 situações:
    - autónomo
    -semi-dependente
    -dependente

    se eu escolher autónomo, preencho com 20, se escolher semi-dependente escrevo 15 e por fim se escolher dependente escrevo 5.
    O que acontece é que se eu escrever 20 no autónomo, os campos, semi-dependente e dependente terão de estar a 0. se escolher semi-dependente (inserir 15), o primeiro campo e terceiro terão de estar a 0 e se inserir dependente (5) os primeiro e segundo campos terão de ser 0. Já inseri através de um comando a verificação se os campos estão preenchidos obrigatoriamente, e também serem obrigados a ser colocados valores como por exemplo no campo autonomo de 0 ou 20, ou dependente 15 ou 0 e dependente 5 ou 0. mas a minha questão é que isso nao invalida que alguem se engane e coloque 20 no autonomo e 15 no semi-dependente, logo a ponderação final será errada.

    Possuo mais tópicos como a mesma situação mas com apenas dois campos para escolher:
    Outro Tópico "priorização na lista de espera"
    - adequa-se - 10
    - não se adequa - 5

    Agradecia imenso que me ajudassem!

    Obrigada



    avatar
    misaelsp
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 97
    Registrado : 20/02/2013

    Desbloquear ou bloquear campos conforme informação inserida no primeiro Empty Re: Desbloquear ou bloquear campos conforme informação inserida no primeiro

    Mensagem  misaelsp 22/10/2013, 12:46

    Leila,
    Não entendi bem o que você explicou. Teria como postar o bd com od dados necessários para que eu possa te ajudar?


    .................................................................................
    É fazendo que se aprende a fazer aquilo que se deve aprender a fazer Very Happy
    avatar
    leila ferreira
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Portugal
    Mensagens : 40
    Registrado : 22/10/2013

    Desbloquear ou bloquear campos conforme informação inserida no primeiro Empty Re: Desbloquear ou bloquear campos conforme informação inserida no primeiro

    Mensagem  leila ferreira 22/10/2013, 13:03

    E posso postar aqui?

    é simples:

    imagine um formulário do seguinte modo com ponderações ( percentagens) como se fosse para entrar na faculdade:
    Critério 1 - notas obtidas:
    Campo 1- se teve notas superior a 18 - receberia de ponderação 20 (valor a colocar no formulário);
    Campo 2- se teve notas entre 15 e 17 - receberia de ponderação 15 (valor a colocar no formulário);
    campo 3- se teve notas inferiores a 15 - receberia de ponderação 10 (valor a colocar no formulário);

    Para este critério, se eu preencher o primeiro campo é obvio que teria de ser com vinte e logo os dois outros campos teriam de ter 0; mas caso o aluno so tivesse 16, receberia no campo 2 a ponderação de 15, e assim no campo 1 (como nao obteve mais de 18 teria 0 e no campo 3 teria também 0 porque nao teve notas inferiores a 15. A minha questão é bloquear o preenchimento dos dois restantes campos quando fosse preenchido o campo devido, por exemplo se preenchesse o campo um com 20, o campos 2 e 3 teriam de ter 0, se preenchesse o campo 2 com 15, a ponderação do campo 1 e 3 teria de ser 0.

    espero ter sido clara.
    avatar
    misaelsp
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 97
    Registrado : 20/02/2013

    Desbloquear ou bloquear campos conforme informação inserida no primeiro Empty Re: Desbloquear ou bloquear campos conforme informação inserida no primeiro

    Mensagem  misaelsp 22/10/2013, 13:15

    Leila,

    Você pode usar o seguinte código:

    'Essa linha desabilita o campo
    campo1.locked = true
    campo1.value = "0"

    Você pode fazer uma comparação tambem:


    'Essa linha verfica se o campo1 é igual a 20
    if campo1.value = "20" then
    campo2.locked = true
    campo2.value = "0"
    end if

    Você pode adaptar de acordo com a sua necessidade.


    .................................................................................
    É fazendo que se aprende a fazer aquilo que se deve aprender a fazer Very Happy
    avatar
    leila ferreira
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Portugal
    Mensagens : 40
    Registrado : 22/10/2013

    Desbloquear ou bloquear campos conforme informação inserida no primeiro Empty Re: Desbloquear ou bloquear campos conforme informação inserida no primeiro

    Mensagem  leila ferreira 22/10/2013, 13:39

    OBRigada, espero que dê resultado... da parte da tarde ou amanha verifico senao volto! obrgiada
    avatar
    leila ferreira
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Portugal
    Mensagens : 40
    Registrado : 22/10/2013

    Desbloquear ou bloquear campos conforme informação inserida no primeiro Empty Re: Desbloquear ou bloquear campos conforme informação inserida no primeiro

    Mensagem  leila ferreira 22/10/2013, 17:42

    olá! Deu resultado na medida que consegui bloquear os campos como tinha pedido a você!

    Mas agora imagine que ao fazer tab do campo1 para o campo 2 (que já está bloqueado) gostaria que aparecesse uma mensagem a dizer: "O campo que está a tentar preencher não está disponível p'orque já foi atribuída a ponderação máxima a outro campo deste critério"

    seria alguma coisa como isto:

    if campo1.value= "20" then
    campo2.locked = true
    campo2.value = "0"

    Msgbox "O campo que está a tentar preencher não está disponível p'orque já foi atribuída a ponderação máxima a outro campo deste critério!", vbokOnly+vbCritical, "Atenção"

    End If

    Será? pelo que vejo e nao percebo nada de VBA deveria haver algo antes da MSGBOX .... mas não sei o quê!  

    Desde já obrigada! Smile

    Já agora, apareceu-me uma questão/duvida: coloquei os eventos em cima descritos. Fui a testar a tabela, mas enganei-me e coloquei 20 no campo1 quando era para colocar 0 e 10 no campo2. Apaguei os valores no campo1, inseri 0 e tentei inserir no campo2 os "10" e não dava. só dá gravando o formulário e voltando a entrar.... como se faz para reverter uma célula bloqueada mais preenchida? terei de criar um botão que saía e entre do formulário?
    avatar
    misaelsp
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 97
    Registrado : 20/02/2013

    Desbloquear ou bloquear campos conforme informação inserida no primeiro Empty Re: Desbloquear ou bloquear campos conforme informação inserida no primeiro

    Mensagem  misaelsp 22/10/2013, 20:41

    Leila,
    Para desbloquear um campo é so substituir o locked = true por locked = false.

    a mensagem é assim que se faz mesmo.

    Cumprimentos. Caso seu problema esteja resolvido, atualize o tópico como resolvido.


    .................................................................................
    É fazendo que se aprende a fazer aquilo que se deve aprender a fazer Very Happy
    avatar
    leila ferreira
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Portugal
    Mensagens : 40
    Registrado : 22/10/2013

    Desbloquear ou bloquear campos conforme informação inserida no primeiro Empty Re: Desbloquear ou bloquear campos conforme informação inserida no primeiro

    Mensagem  leila ferreira 23/10/2013, 11:29

    Olá ! Está resolvido! embora gostaria que aparecesse uma mensagem quando se alteram os valores!

    mas para o que é funciona!

    Obrigada!

    Onde se faz para o topico estar resolvido??


    UPDATE:

    Afinal não está assim tão resolvido!

    tive a testar o formulário e mudei o true para false para se poder inserir, em caso de erro, novos valores. O que acontece agora é que, inseri no campo1 "0" e no campo "0". O que não é possível, já que ou o campo1 tem o valor de 20 e o campo2 de 0, ou o campo2 tem o valor de 10 e o campo1 valor de 0. Não podem é estar os dois com valores 0.  O mesmo acontece para os outros campos dos diversos items!

    O que fazer? Obrigada!

    Conteúdo patrocinado


    Desbloquear ou bloquear campos conforme informação inserida no primeiro Empty Re: Desbloquear ou bloquear campos conforme informação inserida no primeiro

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 29/4/2024, 06:14