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]Permitir preenchimento do campo dependendo do valor de outro campo

    Compartilhe

    Antonio Aurélio
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 29
    Registrado : 29/01/2014

    [Resolvido]Permitir preenchimento do campo dependendo do valor de outro campo

    Mensagem  Antonio Aurélio em 4/12/2018, 18:40

    Senhores, boa tarde.

    Novamente, não consegui encontrar solução para minha dúvida o que recorro a todos que se prontifiquem a ajudar-me.

    Em determinado campo do subformulário onde é lançado ações para o profissional, necessito que o este campo (da ação), só seja atualizado se o CBO do profissional permitir.

    Vou tentar exemplificar:
                             CBO's  
                             223505            223605            225125            225133
                             0101010028     0101010028     0101010028
                             0301010048     0301010048
                                                                           0301010072     0301010072
                                                                           0301010161                                              
                             0301020035     0301020035     0301020035     0301020035
                                                                           0301040036
                                                                           0301040044
                             0301080143                            0301080143     0301080143                                              
                             0301080151                            0301080151     0301080151
                                                                           0301080160     0301080160
                                                                           0301080178     0301080178
                             0301080321                            0301080321     0301080321                                              
                             0301100012
                             0301080305                            0301080305     0301080305
                             
    Bem, não sei se facilitou, mas, a ação 0101010028 pode ser lançada em vários CBO's mas não pode no CBO 225133, p. exemplo (é que o campo não está tabulado dificultando a visualização).

    Tentei usar:
       If (Me.AçãoBpa) = 0101010028 And (Me.CBO) <> 223505 Or (Me.CBO) <> 223605 Or (Me.CBO) =
           225125 Then
           MsgBox "Ação BPA não Permitida para o CBO " & [CBO], vbCritical, "CAPS II - TM"
           DoCmd.CancelEvent
       End If

    Mas, sem sucesso.
    Agradeço a atenção de todos.
    Obrigdo.

    Abraços,

    Antonio Aurélio
    avatar
    IvanJr.
    Developer
    Developer

    Respeito às Regras 100%

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

    Re: [Resolvido]Permitir preenchimento do campo dependendo do valor de outro campo

    Mensagem  IvanJr. em 4/12/2018, 21:12

    O campo da tabela onde os códigos dos procedimentos e CBO's são armazenados é do tipo texto ou número?
    Se for do tipo texto então deve fazer a verificação dos valores com eles estando entre aspas simples, por exemplo, ficando (Me.AçãoBpa) = '0101010028'

    Outra coisa, sei que causa um pouco de nó na cabeça, mas cuidado com os operadores lógicos usados
    O correto para os critérios de exibição da mensagem seria
    Código:
    If (Me.AçãoBpa) = 0101010028 And (Me.CBO) <> 223505 And (Me.CBO) <> 223605 And (Me.CBO) <> 225125 Then
    ou
    Código:
    If (Me.AçãoBpa) = 0101010028 And Not ((Me.CBO) = 223505 Or (Me.CBO) = 223605 Or (Me.CBO) = 225125) Then

    Antonio Aurélio
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 29
    Registrado : 29/01/2014

    Permitir preenchimento do campo dependendo do valor de outro campo

    Mensagem  Antonio Aurélio em 5/12/2018, 11:23

    Senhores, bom dia.

    Sr. Ivan Jr, bom dia

    Agradeço as orientações fornecidas.
    Muito obrigado.

    Infelizmente as informações não surgiram o efeito desejado.

    Se houver um CBO já lançado para o paciente, não está sendo possível efetuar novos lançamentos em outras datas.

    Estou tentando enviar o arquivo (Lançamento de Ações), para expor melhor meu problema; não sei se vou conseguir.

    Abraços e Obrigado.

    Antonio Aurélio
    avatar
    IvanJr.
    Developer
    Developer

    Respeito às Regras 100%

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

    Re: [Resolvido]Permitir preenchimento do campo dependendo do valor de outro campo

    Mensagem  IvanJr. em 5/12/2018, 11:36

    Então tem também verificações de datas?

    Obs.: seu anexo não veio

    Antonio Aurélio
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 29
    Registrado : 29/01/2014

    Re: [Resolvido]Permitir preenchimento do campo dependendo do valor de outro campo

    Mensagem  Antonio Aurélio em 5/12/2018, 12:03

    Sr. Ivan Jr.,

    Não estou conseguindo enviar, infelizmente.
    Vou tentar novamente.
    Obrigado.

    Antonio Aurélio
    Anexos
    Lançamento de Ações.docx
    Lançamento de Ações RAAS e BPA
    Você não tem permissão para fazer download dos arquivos anexados.
    (121 Kb) Baixado 7 vez(es)
    avatar
    IvanJr.
    Developer
    Developer

    Respeito às Regras 100%

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

    Re: [Resolvido]Permitir preenchimento do campo dependendo do valor de outro campo

    Mensagem  IvanJr. em 5/12/2018, 12:33

    Anexe seu aplicativo criado aqui (ou envie-me em [Você precisa estar registrado e conectado para ver este link.] caso queira proteger algumas informações) para que eu possa ser mais acertivo.
    avatar
    IvanJr.
    Developer
    Developer

    Respeito às Regras 100%

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

    Re: [Resolvido]Permitir preenchimento do campo dependendo do valor de outro campo

    Mensagem  IvanJr. em 5/12/2018, 20:53

    Antônio, entrei na estrutura do aplicativo e encontrei o código a seguir no evento "Antes de atualizar" da sua combo que lista o código dos procedimentos.

    '-------------------------------------------------------------------------

    If (Me.CódigoDoProdutoBpa) = "0101010028" And (Me.CBO) = 225133 Or (Me.CBO) = 322205 Then
       MsgBox "Ação BPA não Permitida para o CBO " & [CBO], vbCritical, "CAPS II - TM"
       DoCmd.CancelEvent
    End If
       
    If (Me.CódigoDoProdutoBpa) = "0211100013" And (Me.CBO) <> 251510 Then
       MsgBox "Ação BPA não Permitida para o CBO " & [CBO], vbCritical, "CAPS II - TM"
       DoCmd.CancelEvent
    End If
           
    If (Me.CódigoDoProdutoBpa) = "0301010048" And (Me.CBO) <> 223505 Or (Me.CBO) <> 251510 _
       Or (Me.CBO) <> 251605 Or (Me.CBO) <> 223605 Then
       MsgBox "Ação BPA não Permitida para o CBO " & [CBO], vbCritical, "CAPS II - TM"
       DoCmd.CancelEvent
    End If

    '-------------------------------------------------------------------------

    E então a solução do seu problema será conforme a mensagem nº 2 do tópico, incluindo a pegadinha do seu controle que é uma combobox onde o código do procedimento é armazenado na coluna 2 (a contagem começa do 0)

    '-------------------------------------------------------------------------

    If (Me.CódigoDoProdutoBpa.Column(1)) = "0101010028" And ((Me.CBO) = 225133 And (Me.CBO) = 322205) Then
       MsgBox "Ação BPA não Permitida para o CBO " & [CBO], vbCritical, "CAPS II - TM"
       DoCmd.CancelEvent
    End If
       
    If (Me.CódigoDoProdutoBpa.Column(1)) = "0211100013" And (Me.CBO) <> 251510 Then
       MsgBox "Ação BPA não Permitida para o CBO " & [CBO], vbCritical, "CAPS II - TM"
       DoCmd.CancelEvent
    End If
           
    If (Me.CódigoDoProdutoBpa.Column(1)) = "0301010048" And ((Me.CBO) <> 223505 And (Me.CBO) <> 251510 _
       And (Me.CBO) <> 251605 And (Me.CBO) <> 223605) Then
       MsgBox "Ação BPA não Permitida para o CBO " & [CBO], vbCritical, "CAPS II - TM"
       DoCmd.CancelEvent
    End If

    '-------------------------------------------------------------------------

    Antonio Aurélio
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 29
    Registrado : 29/01/2014

    Permitir preenchimento do campo dependendo do valor de outro campo

    Mensagem  Antonio Aurélio em 7/12/2018, 12:58

    Senhores, bom dia.

    Senhor Ivan Jr., bom dia.

    Com o super auxílio e orientação do Sr. Ivan Jr., meu problema foi resolvido.
    Dado a grande quantidade de código de ações, fui orientado a criar uma tabela para fazer a consistência entre os CBO's e as Ações e linha de comando no evento "antes de atualizar" do formulário de lançamento das ações:

    Private Sub CódigoDoProdutoBpa_BeforeUpdate(Cancel As Integer)

    If Nz(Me!CboExec, 0) = 0 Or Nz(Me!CódigoDoProdutoBpa, 0) = 0 Then Exit Sub

    If DCount("*", "CBOsxProdutos", "CBO = '" & Me!Profissional.Column(3) & "' And Produto = '" _
    & Me!CódigoDoProdutoBpa.Column(1) & "'") = 0 Then
    MsgBox "Ação BPA não Permitida para o CBO " & [CBO], vbCritical, "CAPS II - TM"
    DoCmd.CancelEvent
    Exit Sub
    End If

    End Sub

    O tópico está resolvido.

    Muito obrigado.

    Antonio Aurélio



    avatar
    IvanJr.
    Developer
    Developer

    Respeito às Regras 100%

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

    Re: [Resolvido]Permitir preenchimento do campo dependendo do valor de outro campo

    Mensagem  IvanJr. em 7/12/2018, 13:23

    O fórum agradece seu retorno. Sucesso.

      Data/hora atual: 18/12/2018, 21:54