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

    [Resolvido]Imagem aleatória

    avatar
    fazerbem
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 430
    Registrado : 05/03/2017

    [Resolvido]Imagem aleatória Empty [Resolvido]Imagem aleatória

    Mensagem  fazerbem 27/5/2022, 14:19

    Dentro de um formulário tenho 4 imagens e queria que cada um deles ao carregar puxasse de imagens diferentes de uma pasta do meu computador . Qual comando eu poderia fazer isso ?
    Obrigado


    Última edição por fazerbem em 31/5/2022, 17:12, editado 1 vez(es)
    ahteixeira
    ahteixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Imagem aleatória Empty Re: [Resolvido]Imagem aleatória

    Mensagem  ahteixeira 30/5/2022, 09:42

    Olá André Luiz,

    Se atribuir o numero de 1 a 4 nas fotos, será usar a função Rnd nativa do Access numa função.

    Código:
    Function fncNrFotoAleatoria()
    'ahteixeira 30-05-2022 para MaximoAccess
    'numero aleatorio de 1 a 4
    Dim NrFoto As Integer

        NrFoto = Int((4 * Rnd) + 1)
        fncNrFotoAleatoria = NrFoto

    End Function

    Abraço
    avatar
    fazerbem
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 430
    Registrado : 05/03/2017

    [Resolvido]Imagem aleatória Empty Re: [Resolvido]Imagem aleatória

    Mensagem  fazerbem 31/5/2022, 12:14

    Opa bz, obrigado pelo retorno, uma duvida

    no meu form eu coloquei 4 imagens e cada imagem puxa de c:/imagens uma imagem diferente. eu gostaria se possivel puxar dentro deste diretorio de forma aleatoria, para cada quadrado da imagem, imagens diferentes. Ou como eu faria para por em algum lugar as imagens desejadas para este fim ?
    ahteixeira
    ahteixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Imagem aleatória Empty Re: [Resolvido]Imagem aleatória

    Mensagem  ahteixeira 31/5/2022, 12:35

    Olá André Luiz,

    Se compreendi bem, não precisa de ter as quatro imagens, será apenas necessária uma caixa de imagem.
    Depois vamos imaginar que é a foto 1.jpg, 2.jpg,3.jpg e 4.jpg
    Você faz a chamada da função para dar um numero de 1 a 4 e monta o caminho completo da imagem.

    Seria algo assim:
    Código:
    SeuControleImagem = "c:\PastaProjeto\Imagens\ " & fncNrFotoAleatoria &".jpg"

    Existe outra solução que pode ir de encontro ao pretendido, mantendo as quatro imagens que tem.
    Seria colocar todas como visivel = false
    Ajustar o nome do controle para Img1, img2, Img3, Img4
    Depois escolher o evento em que pretende "disparar" a imagem
    Por fim o código seria algo assim:
    Código:
    me.img( fncNrFotoAleatoria()).visible = true

    Abraço

    Nota: código a "olho" não testado Wink
    avatar
    fazerbem
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 430
    Registrado : 05/03/2017

    [Resolvido]Imagem aleatória Empty Re: [Resolvido]Imagem aleatória

    Mensagem  fazerbem 31/5/2022, 16:01

    Amigo, eu fiz assim e deu certo, porem precisaria agora que as imagens aleatórias não se repetissem no próximo Next

    Private Sub Form_Current()

    Dim Produto As Variant
    Dim i As Long
    For i = 1 To 4
    Dim NrFoto As Integer

    NrFoto = Int((10 * Rnd) + 1)
    Imagem = "a" & NrFoto

    Me("im" & i).Picture = Application.CurrentProject.Path & "\Nuvem\" & Imagem & ".jpg"

    Next i

    End Sub
    avatar
    fazerbem
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 430
    Registrado : 05/03/2017

    [Resolvido]Imagem aleatória Empty Re: [Resolvido]Imagem aleatória

    Mensagem  fazerbem 31/5/2022, 16:29

    consegui aqui fazendo desta forma, muito obrigado por sua ajuda !

    Private Sub Form_Current()

    Dim Produto As Variant
    Dim i As Long
    For i = 1 To 4

    Dim NrFoto As Integer

    Pular:
       NrFoto = Int((10 * Rnd) + 1)
       Produto = Produto & "'" & NrFoto
       Imagem = "a" & NrFoto

    If Imagem = B1 Or Imagem = B2 Or Imagem = B3 Or Imagem = B4 Then
    GoTo Pular
    End If


    Me("im" & i).Picture = Application.CurrentProject.Path & "\Nuvem\" & Imagem & ".jpg"
    Me("b" & i).Value = Imagem
    Next i

    End Sub
    ahteixeira
    ahteixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Imagem aleatória Empty Re: [Resolvido]Imagem aleatória

    Mensagem  ahteixeira 31/5/2022, 16:59

    Olá André,

    Obrigado pelo feedback, não se esqueça de dar o tópico como Resolvido, veja como fazer:
    https://www.maximoaccess.com/t860-resolucao-de-topicos

    Vejo que tem outros tópico ainda abertos, deve verificar e se ficou esclarecido dar como Resolvido

    Abraço

      Data/hora atual: 3/7/2022, 09:53