MaximoAccess

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

Obrigado

Administração do MaximoAccess

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

    [Resolvido]Erro quando não encontra ficheiro (bandeira do País)

    avatar
    JIR
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 122
    Registrado : 28/08/2016

    [Resolvido]Erro quando não encontra ficheiro (bandeira do País) Empty [Resolvido]Erro quando não encontra ficheiro (bandeira do País)

    Mensagem  JIR em 20/1/2020, 16:06

    Olá a todo o forum,

    num formulário, tenho o código numa caixa de combinação que, conforme o País, atualiza a bandeira do País, o problema está quando no diretorio, não tenho bandeira para esse País, dá erro run time 2220
    não consegue abrir o ficheiro c:\GEQ\Aplicacao\BD\Logotipo\Portugal.gif
    quando é um registo novo, ou quero alterar o País dá esse erro logo ao atualizar o País

    código

    Private Sub NomePaís_AfterUpdate()
      'Me.NomeConti = Me.NomePaís.Column(2)
      BandeiraPaís.Picture = Application.CurrentProject.path & "\Logotipo\" & NomePaís.Value & ".gif"
    Me.Refresh
    End Sub

    Se puderem ajudar agradeço pois pouco entendo de VB

    José Silva


    Última edição por JIR em 20/1/2020, 22:19, editado 1 vez(es)
    Marcelo David
    Marcelo David
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3101
    Registrado : 21/04/2011

    [Resolvido]Erro quando não encontra ficheiro (bandeira do País) Empty Re: [Resolvido]Erro quando não encontra ficheiro (bandeira do País)

    Mensagem  Marcelo David em 20/1/2020, 18:07

    Boa tarde,
    experimente assim:

    Código:
    Private Sub NomePaís_AfterUpdate()
           On Error Goto TrataErro
          'Me.NomeConti = Me.NomePaís.Column(2)
           BandeiraPaís.Picture = Application.CurrentProject.path & "\Logotipo\" & NomePaís.Value & ".gif"
           Me.Refresh
    Exit Sub

    TrataErro:
          If Err.Numer = 2220 Then
             c:\GEQ\Aplicacao\BD\Logotipo\SemImagem.gif
             Err.Clear
          Else
             msgbox err.Description,vbExclamation,"Erro "& err.Number
          End If
    End Sub


    .................................................................................
    Marcelo David
    www.mrdsystem.com.br (em construção)
    avatar
    JIR
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 122
    Registrado : 28/08/2016

    [Resolvido]Erro quando não encontra ficheiro (bandeira do País) Empty Re: [Resolvido]Erro quando não encontra ficheiro (bandeira do País)

    Mensagem  JIR em 20/1/2020, 22:17

    Boa Noite, Marcelo,

    não funcionou a sua sugestão pois esta linha fica logo a vermelho e depois vai para um erro de sintax
    C:\GEQ\Aplicacao\BD\Logotipo\SemImagem.gif

    se não existir outra forma, terei de criar muitas centenas de imagens mesmo ficticias de bandeiras de Países e colocar no diretorio

    C:\GEQ\Aplicacao\BD\Logotipo\xxxxxxxx.gif

    o que pretendo é ao selecionar o País na caixa de combinação, procura no diretorio a imagem com o mesmo nome e apresenta na caixa de imagem do formulário
    caso não tenha nenhuma imagem com esse nome apresentaria sempre a imagem designada por SemImagem.gif

    não estou a conseguir

    José Silva
    Marcelo David
    Marcelo David
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3101
    Registrado : 21/04/2011

    [Resolvido]Erro quando não encontra ficheiro (bandeira do País) Empty Re: [Resolvido]Erro quando não encontra ficheiro (bandeira do País)

    Mensagem  Marcelo David em 21/1/2020, 11:44

    Na verdade foi falha minha. Esqueci de por a linha completa e corretamente.
    Na linha que está fincando em vermelha do erro:
    C:\GEQ\Aplicacao\BD\Logotipo\SemImagem.gif

    Altere para essa:

    BandeiraPaís.Picture = "C:\GEQ\Aplicacao\BD\Logotipo\SemImagem.gif"


    .................................................................................
    Marcelo David
    www.mrdsystem.com.br (em construção)
    ahteixeira
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 6763
    Registrado : 15/03/2013

    [Resolvido]Erro quando não encontra ficheiro (bandeira do País) Empty Re: [Resolvido]Erro quando não encontra ficheiro (bandeira do País)

    Mensagem  ahteixeira em 21/1/2020, 12:27

    Olá a todos,

    Outra forma simples, poderia ser:
    Código:
    Private Sub NomePaís_AfterUpdate()
        If Dir(Application.CurrentProject.Path & "\Logotipo\" & NomePaís.Value & ".gif") <> "" Then
            'Me.NomeConti = Me.NomePaís.Column(2)
            BandeiraPaís.Picture = Application.CurrentProject.Path & "\Logotipo\" & NomePaís.Value & ".gif"
            Me.Refresh
        End If
    End Sub

    Se pretender como recomendou o nosso colega Marcelo David de mostrar uma imagem quando não tem ficheiro (bandeira), seria:
    Código:
    Private Sub NomePaís_AfterUpdate()
        If Dir(Application.CurrentProject.Path & "\Logotipo\" & NomePaís.Value & ".gif") <> "" Then
            'Me.NomeConti = Me.NomePaís.Column(2)
            BandeiraPaís.Picture = Application.CurrentProject.Path & "\Logotipo\" & NomePaís.Value & ".gif"
        Else
            BandeiraPaís.Picture = Application.CurrentProject.Path & "\Logotipo\SemImagem.gif"
        End If
        
        Me.Refresh
    End Sub

    Ajustei o título do tópico, para ficar mais fácil nas pesquisas.

    Abraço a todos
    avatar
    JIR
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 122
    Registrado : 28/08/2016

    [Resolvido]Erro quando não encontra ficheiro (bandeira do País) Empty Re: [Resolvido]Erro quando não encontra ficheiro (bandeira do País)

    Mensagem  JIR em 21/1/2020, 14:45

    Boa Tarde, Marcelo e Ahteixeira
    ambos os exemplos funcionaram perfeitamente e serviram como lição
    optei pela solução do Marcelo dado que para o efeito, quando não tem bandeira do País quero que por defeito apareça esta imagem "SemImagem.gif"


    Meus agradecimentos

    José Silva
    ahteixeira
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 6763
    Registrado : 15/03/2013

    [Resolvido]Erro quando não encontra ficheiro (bandeira do País) Empty Re: [Resolvido]Erro quando não encontra ficheiro (bandeira do País)

    Mensagem  ahteixeira em 21/1/2020, 14:53

    Olá a todos,

    José Silva, obrigado pelo retorno, o fórum agradece.

    Abraço a todos

      Data/hora atual: 9/7/2020, 02:29