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


3 participantes

    [Resolvido]Onde está o erro?

    avatar
    vailson
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 160
    Registrado : 08/05/2015

    [Resolvido]Onde está o erro? Empty [Resolvido]Onde está o erro?

    Mensagem  vailson 7/5/2016, 00:07

    Private Sub comb_gerador_Click()
    Forms![frm_acoes_processo].Visible = False
    If comb_gerador.Text = "autuação" Then
    DoCmd.OpenReport "rpt_autuação", acViewPreview
    Else
    If comb_gerador.Text = "início dos trabalhos" Then
    DoCmd.OpenReport "rpt_oficio_inicio_trabalho", acViewPreview
    Else
    If comb_gerador.Text = "citação de policial militar" Then
    DoCmd.OpenReport "rpt_oficio_citação_acusado", acViewPreview
    Else




    If comb_gerador.Text = "termo de acusação" And DCount("portaria", "tbl_fatos_imputados_acusação", "portaria= '" & Me.txt_portaria & "'") = 0 Then
    MsgBox "Ainda não existe dados preenchidos referentes ao processo. Favor inserir."
    DoCmd.OpenForm "frm_fatos_imputados_acusação", acNormal, , , acFormAdd
       Else
    DoCmd.OpenForm "frm_fatos_imputados_acusação", acNormal, , "[portaria] = '" & Me.txt_portaria & "'"
       End If



    If comb_gerador.Text = "solicitação de policial ao comandante" Then
    DoCmd.OpenReport "rpt_oficio_solicita_policial", acViewPreview
    Else
    If comb_gerador.Text = "apresentação de retorno" Then
    DoCmd.OpenReport "rpt_oficio_apresenta_retorno", acViewPreview
    Else
    If comb_gerador.Text = "solicitação de ficha do policial" Then
    DoCmd.OpenReport "rpt_oficio_solicita_ficha", acViewPreview
    Else
    If comb_gerador.Text = "notificação do policial - oitiva de testemunha" Then
    DoCmd.OpenReport "rpt_oficio_not_oit_testemunha", acViewPreview
    Else
    If comb_gerador.Text = "notificação do policial - oitiva de vítima" Then
    DoCmd.OpenReport "rpt_oficio_not_oit_vitima", acViewPreview
    End If
    End If
    End If
    End If
    End If
    End If
    End If
    End If


    End Sub


    Qualquer escolha após o código em vermelho o abre junto (abre ambos - a escolha e o form do código em vermelho)
    xoxe
    xoxe
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 241
    Registrado : 27/03/2016

    [Resolvido]Onde está o erro? Empty Re: [Resolvido]Onde está o erro?

    Mensagem  xoxe 7/5/2016, 12:27

    poste seu banco de dados


    .................................................................................

    "Não podemos solucionar problemas usando a mesma forma de raciocínio que usamos quando os criamos." - Albert Einstein



    Agradeça e feche o tópico clicando no botão Resolvido. Se não sabe como, veja AQUI.
    Não esqueça de clicar no Joinha [Resolvido]Onde está o erro? 001_1810 para agradecer a dica que solucionou seu problema.
    avatar
    vailson
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 160
    Registrado : 08/05/2015

    [Resolvido]Onde está o erro? Empty Re: [Resolvido]Onde está o erro?

    Mensagem  vailson 7/5/2016, 13:31

    Bom dia. Não tenho como mandar agora. Mas o código está em um combobox, cada if desse aí serve para abrir um relatório determinado. Ocorre que um dos if abre um formulário em um registro específico através de filtro (o que está destacado em vermelho) e todos os if que estão após esse em vermelho abrem, além do relatório correspondente, o formulário do comando vermelho. É como se eu não tivesse encerrado a ação.
    xoxe
    xoxe
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 241
    Registrado : 27/03/2016

    [Resolvido]Onde está o erro? Empty Re: [Resolvido]Onde está o erro?

    Mensagem  xoxe 7/5/2016, 13:43

    Tente colocar esse código em vermelho no final dos End If


    .................................................................................

    "Não podemos solucionar problemas usando a mesma forma de raciocínio que usamos quando os criamos." - Albert Einstein



    Agradeça e feche o tópico clicando no botão Resolvido. Se não sabe como, veja AQUI.
    Não esqueça de clicar no Joinha [Resolvido]Onde está o erro? 001_1810 para agradecer a dica que solucionou seu problema.
    avatar
    vailson
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 160
    Registrado : 08/05/2015

    [Resolvido]Onde está o erro? Empty Re: [Resolvido]Onde está o erro?

    Mensagem  vailson 7/5/2016, 13:55

    Sim, isso é o lógico... Ocorre que preciso acrescentar outros semelhantes, aí buga.
    Preciso encerrar esse if especificamente. Essa combobox abre relatórios e formulários. São dezenas de possibilidades, portanto não posso criar dezenas de botões na tela, preciso da combobox.
    Pablo Neruda
    Pablo Neruda
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 344
    Registrado : 17/09/2010

    [Resolvido]Onde está o erro? Empty Re: [Resolvido]Onde está o erro?

    Mensagem  Pablo Neruda 7/5/2016, 14:48

    Não seria só colocar um exit sub caso a opção seja atendida?


    .................................................................................
    [Resolvido]Onde está o erro? Uc?export=view&id=0B-lnOJoekdM2VzZBQzFMVzRreTg
    avatar
    vailson
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 160
    Registrado : 08/05/2015

    [Resolvido]Onde está o erro? Empty Re: [Resolvido]Onde está o erro?

    Mensagem  vailson 7/5/2016, 15:53

    Os if abaixo do exit sub não rodam.
    xoxe
    xoxe
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 241
    Registrado : 27/03/2016

    [Resolvido]Onde está o erro? Empty Re: [Resolvido]Onde está o erro?

    Mensagem  xoxe 7/5/2016, 16:21

    Não estou conseguindo compreender bem.
    A condição if irá verificar todas as possibilidades, porém se cair na condição q está em vermelho (sendo ela verdade) o código deverá parar ou não?


    .................................................................................

    "Não podemos solucionar problemas usando a mesma forma de raciocínio que usamos quando os criamos." - Albert Einstein



    Agradeça e feche o tópico clicando no botão Resolvido. Se não sabe como, veja AQUI.
    Não esqueça de clicar no Joinha [Resolvido]Onde está o erro? 001_1810 para agradecer a dica que solucionou seu problema.
    avatar
    vailson
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 160
    Registrado : 08/05/2015

    [Resolvido]Onde está o erro? Empty Re: [Resolvido]Onde está o erro?

    Mensagem  vailson 7/5/2016, 16:50

    Sim, mas se ele parar não vai verificar as condições posteriores ao exit sub.
    Pablo Neruda
    Pablo Neruda
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 344
    Registrado : 17/09/2010

    [Resolvido]Onde está o erro? Empty Re: [Resolvido]Onde está o erro?

    Mensagem  Pablo Neruda 7/5/2016, 17:07

    Como você colocou o EXIT SUB?

    Para que o código possa ter uma possibilidade de outra condição o campo comb_gerador.Text tem que ter mais de um valor... Estou confuso nessa lógica!


    .................................................................................
    [Resolvido]Onde está o erro? Uc?export=view&id=0B-lnOJoekdM2VzZBQzFMVzRreTg
    xoxe
    xoxe
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 241
    Registrado : 27/03/2016

    [Resolvido]Onde está o erro? Empty Re: [Resolvido]Onde está o erro?

    Mensagem  xoxe 7/5/2016, 17:12

    Pode ocorrer de ter mais de um valor na combobox?
    Por ex: "termo de acusação" (do código em vermelho) e qualquer um outro citado no código?

    Pq se os valores forem 1 a cada alteração não era p dar problema.


    .................................................................................

    "Não podemos solucionar problemas usando a mesma forma de raciocínio que usamos quando os criamos." - Albert Einstein



    Agradeça e feche o tópico clicando no botão Resolvido. Se não sabe como, veja AQUI.
    Não esqueça de clicar no Joinha [Resolvido]Onde está o erro? 001_1810 para agradecer a dica que solucionou seu problema.
    Pablo Neruda
    Pablo Neruda
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 344
    Registrado : 17/09/2010

    [Resolvido]Onde está o erro? Empty Re: [Resolvido]Onde está o erro?

    Mensagem  Pablo Neruda 7/5/2016, 17:16

    Seria mais ou menos isso. Modifiquei o código para como acho que funcionária...

    Forms![frm_acoes_processo].Visible = False

    If comb_gerador.Text = "autuação" Then

    DoCmd.OpenReport "rpt_autuação", acViewPreview
    EXIT SUB

    ElseIf comb_gerador.Text = "início dos trabalhos" Then

    DoCmd.OpenReport "rpt_oficio_inicio_trabalho", acViewPreview
    EXIT SUB

    ElseIf comb_gerador.Text = "citação de policial militar" Then

    DoCmd.OpenReport "rpt_oficio_citação_acusado", acViewPreview
    EXIT SUB

    ElseIf comb_gerador.Text = "termo de acusação" And DCount("portaria", "tbl_fatos_imputados_acusação", "portaria= '" & Me.txt_portaria & "'") = 0 Then

    MsgBox "Ainda não existe dados preenchidos referentes ao processo. Favor inserir."
    DoCmd.OpenForm "frm_fatos_imputados_acusação", acNormal, , , acFormAdd
    EXIT SUB

    ElseiF comb_gerador.Text = "termo de acusação" And DCount("portaria", "tbl_fatos_imputados_acusação", "portaria= '" & Me.txt_portaria & "'") <> 0 Then

    DoCmd.OpenForm "frm_fatos_imputados_acusação", acNormal, , "[portaria] = '" & Me.txt_portaria & "'"
    EXIT SUB

    ElseIf comb_gerador.Text = "solicitação de policial ao comandante" Then

    DoCmd.OpenReport "rpt_oficio_solicita_policial", acViewPreview
    EXIT SUB

    ElseIf comb_gerador.Text = "apresentação de retorno" Then

    DoCmd.OpenReport "rpt_oficio_apresenta_retorno", acViewPreview
    EXIT SUB

    ElseIf comb_gerador.Text = "solicitação de ficha do policial" Then

    DoCmd.OpenReport "rpt_oficio_solicita_ficha", acViewPreview
    EXIT SUB

    ElseIf comb_gerador.Text = "notificação do policial - oitiva de testemunha" Then

    DoCmd.OpenReport "rpt_oficio_not_oit_testemunha", acViewPreview
    EXIT SUB

    ElseIf comb_gerador.Text = "notificação do policial - oitiva de vítima" Then

    DoCmd.OpenReport "rpt_oficio_not_oit_vitima", acViewPreview
    EXIT SUB

    End If

    End Sub


    .................................................................................
    [Resolvido]Onde está o erro? Uc?export=view&id=0B-lnOJoekdM2VzZBQzFMVzRreTg
    avatar
    vailson
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 160
    Registrado : 08/05/2015

    [Resolvido]Onde está o erro? Empty Re: [Resolvido]Onde está o erro?

    Mensagem  vailson 7/5/2016, 17:27

    Vou tentar com o exit sub em cada um conforme Pablo Neruda. Postarei o resultado.

    Essa aplicativo é para apuração de processos administrativos. Isso aí não é nem a metade dos documentos que serão gerados... O access é bastante funcional, incrível.
    avatar
    vailson
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 160
    Registrado : 08/05/2015

    [Resolvido]Onde está o erro? Empty Re: [Resolvido]Onde está o erro?

    Mensagem  vailson 9/5/2016, 14:59

    Resolvido, obrigado

    Conteúdo patrocinado


    [Resolvido]Onde está o erro? Empty Re: [Resolvido]Onde está o erro?

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 29/3/2024, 05:20