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]Limite função If elseif

    avatar
    daniel20_adm
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 18
    Registrado : 22/08/2012

    [Resolvido]Limite função If elseif Empty Limite função If elseif

    Mensagem  daniel20_adm 31/5/2013, 18:05

    Olá amigos gostaria de saber se existe um limite para a função elseif porque estou percebendo que quando passo de 4 linhas não funciona mais, caso não, aguém pode verificar qual é o erro.
    Problema: As linha marcadas de azul abaixo não são execultadas
    Obrigado.

    Private Sub cmdVisualizar_Click()
    On Error Resume Next
    'verifica se há uma opção selecionada
    If gpRelatorio.value <> 0 Then
    'define duas variáveis para o nome do relatório e o filtro
    Dim rel As String
    Dim filtro As String
    filtro = ""
    'verifica qual opção foi selecionada
    Select Case gpRelatorio.value
    Case 1
    'checa qual tipo de relatório foi selecionado
    If lstRelaLicitacoes.ItemsSelected.Count = 0 Or IsNull(Me.txtAnoLicitacao.value) Then
    MsgBox "Selecione o tipo de Relação. Ex: Resumida, Completa, etc e digite o ano com quatro algarismos", vbInformation, "Atenção"
    lstRelaLicitacoes.SetFocus
    ElseIf Me.lstRelaLicitacoes.Column(0) = "Não Concluída" Then
    rel = "rptProcessosEmAndamento"
    ElseIf lstRelaLicitacoes.Column(0) = "Resumida" Then
    rel = "rptDadosdoProcesso"
    ElseIf lstRelaLicitacoes.Column(0) = "Completa" Then
    rel = "rptDadosdoProcessoComp"
    ElseIf lstRelaLicitacoes.Column(0) = "Do Mês" Then
    rel = "rptRelacaoProcessosMes"
    ElseIf lstRelaLicitacoes.Column(0) = "Por SRP" Then
    rel = "rptSRP"
    ElseIf lstRelaLicitacoes.Column(0) = "Concluída" Then
    rel = "rptProcessoConcluido"

    Exit Sub
    End If

    Case 2
    'checa se há opção para o processo selecionado
    If lstProcesso.ItemsSelected.Count = 0 Or IsNull(Me.txtAnoLicitacao.value) Then
    MsgBox "Selecione o tipo de Relação. Ex: Resumida, Completa, etc e digite o ano com quatro algarismos", vbInformation, "Atenção"
    lstProcesso.SetFocus
    ElseIf lstProcesso.Column(0) = "Por responsável" Then
    rel = "rptResponsavelpeloProcesso"
    ElseIf lstProcesso.Column(0) = "Por setor requisitante" Then
    rel = "rptSetor"
    ElseIf lstProcesso.Column(0) = "Pela sua cronologia" Then
    rel = "rptPrazos"
    ElseIf lstProcesso.Column(0) = "Por histórico" Then
    rel = "rptHistProcesso"
    ElseIf lstProcesso.Column(0) = "Por arquivamento" Then
    rel = "rptArquivo"

    Exit Sub
    End If

    Case 4
    If IsNull(Me.txtAnoLicitacao.value) Then
    MsgBox "Digite o ano com quatro algarismos", vbInformation, "Atenção"
    Me.txtAnoLicitacao.SetFocus
    Else
    rel = "rptContratacao"
    End If

    Case 5
    rel = "rptCapadoProcesso"

    End Select
    'Abre o relatório do modo visualizar impressão
    DoCmd.OpenReport rel, acViewPreview, , filtro
    Me.txtAnoLicitacao = ""
    Me.txtAnoLicitacaoFinal = ""
    Me.cboMesLicitacao = ""
    Me.txtNumeroLicitacao = ""

    Else
    MsgBox "Selecione um relatório", vbInformation, "Atenção"
    'move o foco para o controle
    gpRelatorio.SetFocus
    End If

    End Sub
    Gilberto Rocha
    Gilberto Rocha
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1027
    Registrado : 21/01/2010

    [Resolvido]Limite função If elseif Empty Re: [Resolvido]Limite função If elseif

    Mensagem  Gilberto Rocha 31/5/2013, 18:12

    Depois de todos ElseIf adicione um else com outra condição.

    Você também pode testar seu If assim:

    'checa qual tipo de relatório foi selecionado
    If lstRelaLicitacoes.ItemsSelected.Count = 0 Or IsNull(Me.txtAnoLicitacao.value) Then
    MsgBox "Selecione o tipo de Relação. Ex: Resumida, Completa, etc e digite o ano com quatro algarismos", vbInformation, "Atenção"
    lstRelaLicitacoes.SetFocus

    ElseIf Me.lstRelaLicitacoes.Column(0) = "Não Concluída" Then
    rel = "rptProcessosEmAndamento"
    msgbox"Selecionado " & rel

    ElseIf lstRelaLicitacoes.Column(0) = "Resumida" Then
    rel = "rptDadosdoProcesso"
    msgbox"Selecionado " & rel

    ElseIf lstRelaLicitacoes.Column(0) = "Completa" Then
    rel = "rptDadosdoProcessoComp"
    msgbox"Selecionado " & rel

    ElseIf lstRelaLicitacoes.Column(0) = "Do Mês" Then
    rel = "rptRelacaoProcessosMes"
    msgbox"Selecionado " & rel

    ElseIf lstRelaLicitacoes.Column(0) = "Por SRP" Then
    rel = "rptSRP"
    msgbox"Selecionado " & rel

    ElseIf lstRelaLicitacoes.Column(0) = "Concluída" Then
    rel = "rptProcessoConcluido"
    msgbox"Selecionado " & rel
    else
    msgbox"Nenhuma das opções"

    Exit Sub
    End If


    .................................................................................
    Resolveu? Clique em resolvido!
    Sistema para administração de Igrejas e Ministérios Evangélicos Congrega Fácil Online.
    Seja um representante em sua cidade!
    Código de cliente para testes: congregafacil

    SisFAT Cursos Online
    www.congregafacil.com

    Analista de BI SR
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3900
    Registrado : 04/04/2010

    [Resolvido]Limite função If elseif Empty Re: [Resolvido]Limite função If elseif

    Mensagem  Avelino Sampaio 31/5/2013, 18:20

    Seu código ficará bem mais simples se vc criar mais uma coluna(oculta) nas listas e assim não precisaria desses IF´s

    Bastaria para lista de relatórios :

    rel = lstRelaLicitacoes.Column(1)

    Aguardamos


    .................................................................................
    Vídeos, livros, kit MontaRibbons e acesso vitalício ao site UsandoAcces  
    Clique AQUI e analise o custo beneficio do material oferecido.
    avatar
    daniel20_adm
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 18
    Registrado : 22/08/2012

    [Resolvido]Limite função If elseif Empty Re: [Resolvido]Limite função If elseif

    Mensagem  daniel20_adm 31/5/2013, 19:19

    Gilberto Rocha, muito obrigado, deu certo. Conclusão: então toda função if..elseif tem que terminar com else?

    Ms. Avelino, não sei fazer da maneira que você falou, mas gostaria de aprender. Tem como clarear mais um pouco, pois sou iniciante. - a propósito, foi eu que te enviei uns emails querendo adquirir seu Kit Access e estava com problema no Office (daniel20_adm@yahoo.copm.br).

    Obrigado.
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3900
    Registrado : 04/04/2010

    [Resolvido]Limite função If elseif Empty Re: [Resolvido]Limite função If elseif

    Mensagem  Avelino Sampaio 31/5/2013, 19:54

    Como preechida a listabox lstRelaLicitacoes ? A origem vem de um tabela, de uma consulta ou se trata de uma lista de valores ?

    Aguardo


    .................................................................................
    Vídeos, livros, kit MontaRibbons e acesso vitalício ao site UsandoAcces  
    Clique AQUI e analise o custo beneficio do material oferecido.
    Gilberto Rocha
    Gilberto Rocha
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1027
    Registrado : 21/01/2010

    [Resolvido]Limite função If elseif Empty Re: [Resolvido]Limite função If elseif

    Mensagem  Gilberto Rocha 31/5/2013, 22:06

    Esse ultimo else serve para que se nenhuma das condições atender, lhe da outra condição!

    Entenda a função If

    If (Se) a=b then (faça isso)

    elseif(ou se for) Then (faça isso)

    else (Caso não seja nenhuma Faça isso)

    Endif


    .................................................................................
    Resolveu? Clique em resolvido!
    Sistema para administração de Igrejas e Ministérios Evangélicos Congrega Fácil Online.
    Seja um representante em sua cidade!
    Código de cliente para testes: congregafacil

    SisFAT Cursos Online
    www.congregafacil.com

    Analista de BI SR
    avatar
    daniel20_adm
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 18
    Registrado : 22/08/2012

    [Resolvido]Limite função If elseif Empty Re: [Resolvido]Limite função If elseif

    Mensagem  daniel20_adm 1/6/2013, 16:50

    Avelino,

    A lista é criada a partir de uma tabela.

    Aproveitando o assunto, estou estudando os filtros do seu BD Maestro_v5, confesso que está difícil, no entanto, é uma aprendizagem a cada dia. Avelino, o seu kit explica o passo a passo?

    Muito obrigado pela a ajuda!, vocês são imediatos na resposta, valeu mesmo.
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3900
    Registrado : 04/04/2010

    [Resolvido]Limite função If elseif Empty Re: [Resolvido]Limite função If elseif

    Mensagem  Avelino Sampaio 1/6/2013, 17:34

    Se a lista é craida por uma tabela, ficou mais fácil ainda. Crie um campo nesta tabela para aramazenar o nome dos relatórios. Depois recrie a lista, incluindo a coluna que recebe o nome dos relatórios.

    Veja neste meu artigo um arquivo exemplo com uma combobox, aonde extraímos diversas informações relacionadas nas colunas.

    http://www.usandoaccess.com.br/dicas/dica32.asp?id=1#inicio

    Sobre filtragens, veja este meu artigo e assista minha vídeo-aula:

    http://www.usandoaccess.com.br/tutoriais/tuto35.asp?id=1#inicio

    Bom estudo!


    .................................................................................
    Vídeos, livros, kit MontaRibbons e acesso vitalício ao site UsandoAcces  
    Clique AQUI e analise o custo beneficio do material oferecido.
    avatar
    daniel20_adm
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 18
    Registrado : 22/08/2012

    [Resolvido]Limite função If elseif Empty Re: [Resolvido]Limite função If elseif

    Mensagem  daniel20_adm 24/6/2013, 17:10

    Problema resolvido! Obrigado amigos.

    Conteúdo patrocinado


    [Resolvido]Limite função If elseif Empty Re: [Resolvido]Limite função If elseif

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 23/11/2024, 05:02