Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

progster

Imagens num form [Resolvido]

Mensagens Recomendadas

progster

Boa tarde!

Estou a desenvolver uma BD para os Recursos Humanos da empresa onde trabalho, e preciso de colocar num form, já com os dados relativos a cada funcionário, fotografias dos mesmos, de modo a que quando se navega de funcionário para funcionário apareca a fotografia do mesmo.

Será que me podem ajudar?!

Desde já agradeço qualquer ajuda que me possam dar.

Cumprimentos.


Não resolvo dúvidas por PM.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
yyajsayy

Então, primeiro o que tens a fazer é ir sacar os dados da tua base de dados.

Em primeiro lugar:

- Já tens os dados na base de dados?

- Como estás a pensar fazer o tratamento das imagens? (já as tens alojadas numa pasta e guardas o caminho das mesma na bd?)

Explica lá melhor como tens organizado esses dados.


"If it don't work the first time, rename it to version 1.0."

http://seguranca-informatica.pt

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
progster

Boas.

Sim, já tenho os dados relativos aos funcionários na BD, e a funcionar de acordo com as necessidades do futuro utilizador. Relativamente ao tratamento das imagens, tenho as mesmas guardadas numa pasta.

E sim, também já me lembrei de adicionar um campo á tabela com o caminho das imagens, só que a minha dúvida, é como prosseguir a partir dai, ou seja, como é que eu "meto" as imagens a aparecer conforme se navega de registo para registo.


Não resolvo dúvidas por PM.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
optus

estas a usar access?? ou outro tipo de BD ? em access a unica forma que conheço e o objecto OLE. com o bota direito do rato dizes para desenhares no pain, no paint fazer ''colar de'' e metes a imagem que qeres. guardas e ela fica la.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
optus

tens e de meter a mao, todas as fotos de cada um :S e o xato. deve hazer uma forma de criar um botao, ir ao directoio e inserir logo.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
optus

bem, tens aqui um exemplo, rapido de 5 min  :biggrin:

http://www.4shared.com/file/bpJatQBG/Exemplo.html fui eu que fiz, nao tem virus ;)

procede-se assim.

1:crias a tabela

2: Nessa tabela crias um campo do tipo Objecto OLE.

3: crias um formulário.

4: corres o formulário, e quando stas a inserir os dados, das com o botao direito do rato decima do obj OLE e clicas em ''inserir objecto''

5: no pop-up que abre selecionas bitmap image.

6: Isso vai-te abrir o paint. no paint, perto do canto superior esqerdo tens um botao colar. Clicas na seta dele, e depois clias em colar de.. Vais buscar a imagem que queres para esse registo.

7: Depis de inserir a imagem e so fechar  paint e sair.

8: não ha oito... ele guarda logo XD

e é isso :)

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
progster

Depois de inserir a imagem, como fecho o paint?

E será que depois quando mudar de utilizador dá para voltar a fazer o mesmo?


Não resolvo dúvidas por PM.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
optus

uma coisa boa que o access tem e que quando fechas algo ou deixas algo imcompleto (desde uqe nao seja um campo obrigatorio9 ele grava logo automaticamente. logo, com o pain, e so fazeres colar de e fechares no (X). ele mete logo..

Tamos ca para isso, CuMpZ :D

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
progster

A questão relativamente a este assunto, já está resolvida pelo menos a curto prazo, mas e se eu quiser fazer a mesma coisa, mas sem guardar as fotos na BD de modo a não a deixar tão pesada?!

Ou seja, se quiser ter as fotos numa outra localização, e na BD ficava só o caminho para as fotos?


Não resolvo dúvidas por PM.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
FreiNando

Se quiseres manter as fotos numa pasta, sem as colocares na base de dados, nem precisas ter um campo para Foto.

Se for necessário até posso fazer uma base de dados de exemplo e colocar aqui para te garantir que é possivel.

1-A tua base de dados está numa pasta, certo? Então o enderesso dela está no nome Application.CurrentDb.Name e só tens de obter o directório.

2- Nesse directório crias uma pasta para guardar as fotos.

3- A tabela dos funcionários tem algum registo com indice Unico? Se sim, Usa-o para dar o nome à foto correspondente e coloca-a na pasta das fotos. Se não tem campo com indice unico podes criar um de qualquer tipo, até mesmo de numeração automática.

4- Tens um formulário para visualizar os registos um a  um? Se não então é hora de o criar ou esqueceres tudo o que te disse até agora.

5- Cada formulário ou relatório pode ter um modulo de código associado, é onde colocamos o código VBA. Para aceder a este modulo clica no botão da barra de ferramentas ou (Alt+F11).

6- Insere no formulario um controlo de imagem, e nas propriedades põe o tipo de imagem=Ligado, o modo de dimensionamento=Zoom e acerta o alinhamento como pretenderes.

7-O Form tem vários eventos, um deles, o Form_Current é chamado quando o formulario carrega um novo registo, independente de ter sido ou não alterado. Usa este evento para colocar o código que vai carregar a foto.

8- Coloca no evento o seguinte código VBA, e ajusta os nomes para os da tua base de dados:

Private Sub Form_Current()
    Dim S As String, C As String, N As Integer
    
    C = Application.CurrentDb.Name
    For N = Len(C) To 1 Step -1
        If Mid(C, N, 1) = "\" Then Exit For
    Next N
    If N > 1 Then
        C = Left(C, N) & "Fotos\"' Nome da pasta com as fotos
        S = Dir(C & NUMERO & ".jpg") ' NUMERO é o campo com indice único
        If S <> "" Then
            Img.Picture = C & S 'Img é o nome do controlo de imagem
        Else
            Img.Picture = ""
        End If
    Else
        Img.Picture = ""
    End If

End Sub

9-Por fim se a imagem no formulário for pequena e a quiseres ver em tamanho normal usando o visualizador do Windows adiciona:

Private Sub Img_DblClick(Cancel As Integer)
    Shell "rundll32.exe C:\WINDOWS\system32\shimgvw.dll,ImageView_Fullscreen " & Img.Picture
End Sub

10- Para finalizar:

-Com algumas alterações até podes ter quantas fotos quizeres para cada funcionário, documentos em pdf, ou qualquer outro ficheiro e pré-visualizá-los no formulário e com um click abri-los no programa correspondente.

-Também pode ser adicionada uma funcionalidade para criar as fotos a partir de um scanner ou copiar de um cartão de uma máquina fotografica.


O caminho mais curto para conseguir fazer muitas coisas é fazer uma de cada vez. Samuel Smiles

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
progster

:hmm: Estou um bocado perdido. Acho que vou precisar de mais alguma ajuda FreiNando.

Podes explicar melhor s.f.f.? :hmm:

Já agora como fiquei na duvida em relação ao ponto 1, a plataforma que estou a utilizar é o access.

Sim, já tenho um form para visualizar os registos um a um, e também tenho uma pasta com as fotos.


Não resolvo dúvidas por PM.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
progster

bem, tens aqui um exemplo, rapido de 5 min  :biggrin:

http://www.4shared.com/file/bpJatQBG/Exemplo.html fui eu que fiz, nao tem virus :P

procede-se assim.

1:crias a tabela

2: Nessa tabela crias um campo do tipo Objecto OLE.

3: crias um formulário.

4: corres o formulário, e quando stas a inserir os dados, das com o botao direito do rato decima do obj OLE e clicas em ''inserir objecto''

5: no pop-up que abre selecionas bitmap image.

6: Isso vai-te abrir o paint. no paint, perto do canto superior esqerdo tens um botao colar. Clicas na seta dele, e depois clias em colar de.. Vais buscar a imagem que queres para esse registo.

7: Depis de inserir a imagem e so fechar  paint e sair.

8: não ha oito... ele guarda logo XD

e é isso ;)

Optus, este método funciona, mas a BD fica muito pesada, será que conheces outra maneira de colocar imagens num form de access sem a BD ficar muito pesada?.


Não resolvo dúvidas por PM.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
FreiNando

Prometido é devido!

Dá uma olhadela a esta base de dados com imagens de alguns artistas conhecidos Estrelas. Está em zip com 8Mb.

Extraí esta de uma outra bem mais completa com informação de mais de 5000 filmes. É a base de dados da minha videoteca.


O caminho mais curto para conseguir fazer muitas coisas é fazer uma de cada vez. Samuel Smiles

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
optus

eish, essa é bem mais simples so que a que vi.. a solução que falei em primeiro e a mais simples que existe XD.

Desculpa so ver agora o post :S esta que o freinando postou serve, e bem. penso que irei adaptar tb para mim  :)

tnx

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.