Access'te Forma Resim Ekleme

Katılım
29 Ocak 2006
Mesajlar
12
Arkadaşlar merhaba,
Sabahtan beri her yerde arıyorum ama şöyle basit bir tarif bulamadım, örnekleri inceledim anlayamadım, bu nedenle konu açmak zorunda kaldım kusura bakmayın. Şimdi yapmak istediğim kullanıcı formuna resim ekle butonu koyup resmi kullanıcı profiline eklemek aynı CV lerdeki gibi bunu nasıl yapabilirim basit yoldan anlatabilirmisiniz?

Teşekkür ederim. Saygılarımla
 
Katılım
18 Nisan 2007
Mesajlar
2,053
Excel Vers. ve Dili
Access 2019
Merhaba..

Olabildiğince kolay anlatmaya çalışayım:

İlk olarak tablomuzda resim adında bir alan ilave edelim.. Veri Türü, Not olsun.. Kaydedip çıkalım..

Şimdi formumuza gidip bu alanı bir metin kutusu ile ilişkilendirelim.. Kutunun adı da aynı; resim olsun.. Bu kutada resmin bilgisayarımızdaki yolunu göstereceğiz..

Daha sonra Araç Kutusundan form üzerine bir resim çerçevesi yerleştirelim..(İlk, bilgisayarımızdan bir resmi yükleyelim.. Eklendikten sonra Biçim / Resim kısmından dosya yolunu silelebiliriz.) Form üzerine yerleştirdiğimiz bu resim kutusunun ismini de cerceve koyalım.. Bu çerceveye Gözat komutu yardımıyla bilgisayarımızdan seçtiğimiz bir resmi yerleştireceğiz..

Evet, şimdi de "Gözat"mamız için formun üzerine bir düğme yerleştirelim.. Düğmenin olay özelliklerinden Tıklatıldığında yordamına şu kodları yazalım:

Kod:
[COLOR=#0600ff]Dim[/COLOR] dlg [COLOR=#0600ff]As[/COLOR] FileDialog
[COLOR=#0600ff]Dim[/COLOR] si [COLOR=#0600ff]As[/COLOR] [COLOR=#0600ff]Variant[/COLOR]
[COLOR=#0600ff]Dim[/COLOR] FileName [COLOR=#0600ff]As[/COLOR] [COLOR=#0600ff]String[/COLOR]
[COLOR=#0600ff]Dim[/COLOR] vrtSelectedItem [COLOR=#0600ff]As[/COLOR] [COLOR=#0600ff]Variant[/COLOR]
[COLOR=#0600ff]Set[/COLOR] trz [COLOR=#008000]=[/COLOR] Application.FileDialog[COLOR=#000000]([/COLOR]msoFileDialogFilePicker[COLOR=#000000])[/COLOR]
[COLOR=#0600ff]With[/COLOR] trz
    .AllowMultiSelect [COLOR=#008000]=[/COLOR] [COLOR=#0600ff]False[/COLOR]
    .ButtonName [COLOR=#008000]=[/COLOR] [COLOR=#fb0000]"Resim Seç"[/COLOR]
    .Filters.Add [COLOR=#fb0000]"Resimler"[/COLOR], [COLOR=#fb0000]"*.gif; *.jpg; *.jpeg; *.bmp"[/COLOR]
    .Filters.Add [COLOR=#fb0000]"Hepsi"[/COLOR], [COLOR=#fb0000]"*.*"[/COLOR]
    .FilterIndex [COLOR=#008000]=[/COLOR] [COLOR=#7d2252]0[/COLOR]
    .InitialFileName [COLOR=#008000]=[/COLOR] [COLOR=#0600ff]Environ[/COLOR][COLOR=#000000]([/COLOR][COLOR=#fb0000]"UserProfile"[/COLOR][COLOR=#000000])[/COLOR] [COLOR=#008000]&[/COLOR] [COLOR=#fb0000]"\My Documents\*.bmp;*.gif;*.jpg;*"[/COLOR]
    .InitialView [COLOR=#008000]=[/COLOR] msoFileDialogViewThumbnail
    .Title [COLOR=#008000]=[/COLOR] [COLOR=#fb0000]"Resim Seç..."[/COLOR]
        [COLOR=#0600ff]If[/COLOR] .Show [COLOR=#008000]=[/COLOR] [COLOR=#0600ff]True[/COLOR] [COLOR=#0600ff]Then[/COLOR]
            [COLOR=#0600ff]For[/COLOR] [COLOR=#0600ff]Each[/COLOR] vrtSelectedItem In .SelectedItems
            FileName [COLOR=#008000]=[/COLOR] vrtSelectedItem
            [COLOR=#0600ff]Next[/COLOR] vrtSelectedItem
            [COLOR=#0600ff]Me[/COLOR].resim [COLOR=#008000]=[/COLOR] FileName
            [COLOR=#0600ff]Me[/COLOR].cerceve.Picture [COLOR=#008000]=[/COLOR] FileName
        [COLOR=#0600ff]End[/COLOR] [COLOR=#0600ff]If[/COLOR]
[COLOR=#0600ff]End[/COLOR] [COLOR=#0600ff]With[/COLOR]
Bu aşamalardan sonra resmimizin yolunu tablomuza kaydetmiş ve de bağlantılı resmi çercevemizde göstermiş olduk..

Şimdi de kayıtlar arasında gezinti, süzme, arama vb. işlemler yaptığımızda, ekrandaki kayda ait resmin çerceveye yerleşmesi için ayrı bir işlem daha yapmamız gerekiyor..

Formumuzun Geçerli Olduğunda olay yordamına

Kod:
[COLOR=#0600ff]On[/COLOR] [COLOR=#0600ff]Error[/COLOR] [COLOR=#0600ff]GoTo[/COLOR] trz
[COLOR=#0600ff]If[/COLOR] [COLOR=#0600ff]Not[/COLOR] [COLOR=#0600ff]IsNull[/COLOR][COLOR=#000000]([/COLOR][COLOR=#000000][[/COLOR]resim[COLOR=#000000]][/COLOR][COLOR=#000000])[/COLOR] [COLOR=#0600ff]Then[/COLOR]
[COLOR=#0600ff]Me[/COLOR].cerceve.Picture [COLOR=#008000]=[/COLOR] [COLOR=#000000][[/COLOR]resim[COLOR=#000000]][/COLOR]
[COLOR=#0600ff]Else[/COLOR]
[COLOR=#0600ff]Me[/COLOR].cerceve.Picture [COLOR=#008000]=[/COLOR] [COLOR=#fb0000]""[/COLOR]
[COLOR=#0600ff]End[/COLOR] [COLOR=#0600ff]If[/COLOR]
[COLOR=#0600ff]Exit[/COLOR] [COLOR=#0600ff]Sub[/COLOR]
trz:
[COLOR=#0600ff]If[/COLOR] [COLOR=#000000]Err[/COLOR] [COLOR=#008000]=[/COLOR] [COLOR=#7d2252]2220[/COLOR] [COLOR=#0600ff]Then[/COLOR]
[COLOR=#0600ff]Me[/COLOR].cerceve.Picture [COLOR=#008000]=[/COLOR] [COLOR=#fb0000]""[/COLOR]
[COLOR=#0600ff]Else[/COLOR]
MsgBox [COLOR=#000000]Err[/COLOR].Description, vbExclamation
[COLOR=#0600ff]End[/COLOR] [COLOR=#0600ff]If[/COLOR]


bu kod kümesini yazın.. Aynı pencereden Tools / References kısmından Microsoft Office 1x.x Object Library seçeneğini de işaretlediniz mi tamamdır..


Artık formunuz üzerine Gözat kutusunu kullanarak ve de sadece yolunu depolayarak resimlerimizi ekleyip, görüntüleyebiliriz..


Not..: Daha önceki bir paylaşımımdan alıntıdır..
 
Katılım
29 Ocak 2006
Mesajlar
12
Merhaba,
Bende adım adım yaptıklarımı anlatayım, bu arada benim access ingilizce arada biraz karıştırdım... Table içersine Resim diye bir alan açtım sonra forma gidip orada Resim diye bir text box açtım sonra control boxtan bir tane unbound object frame oluşturdum ona Microsoft Word Picture formatında resim ekledim sonra toggle button oluşturdum sağ tıklayıp Build event diyip açılan sayfaya verdiğin kodları yapıştırdım ama tıklayınca hata verdi zaten ondan sonrasından sonuç alamadım nerede yanlış yapıyorum?.

Kusura bakmayın
 
Katılım
18 Nisan 2007
Mesajlar
2,053
Excel Vers. ve Dili
Access 2019
Merhaba,
Bende adım adım yaptıklarımı anlatayım, bu arada benim access ingilizce arada biraz karıştırdım... Table içersine Resim diye bir alan açtım sonra forma gidip orada Resim diye bir text box açtım sonra control boxtan bir tane unbound object frame oluşturdum ona Microsoft Word Picture formatında resim ekledim sonra toggle button oluşturdum sağ tıklayıp Build event diyip açılan sayfaya verdiğin kodları yapıştırdım ama tıklayınca hata verdi zaten ondan sonrasından sonuç alamadım nerede yanlış yapıyorum?.

Kusura bakmayın
Form üzerine Unbound-İlişkisiz değilde Picture-Resim nesnesi yerleştiriniz..
 
Katılım
29 Ocak 2006
Mesajlar
12
Tamam onu yerleştirdim sonra adını cerceve olarak değiştirdim sonra resmin yolunu sildim sadece cerceve kaldı sonra toggle button ekledim sağ tıklayıp build event ten code builder i seçtim sonra açılan sayfada sağ taraftaki boş alana eklediğiniz kodları yapıştırdım sonra sayfayı sağ tıklayıp build event code builder i seçtim açtığımda daha önce eklediğim kodlar çıktı yani yordamına ekleyin demişsiniz onu tam anlayamadım. Sonra View den butona tıkladığımda hiçbir şey çıkmıyor??. En son problem code build ekranından Tools/References kısmına girdim ama burada Microsoft Office 1x.x Object Library yok Microsoft access 11.0 object library var oda işaretli bunun dışında neler yapmam gerektiğini yazarsanız çok sevinirim
 
Katılım
9 Aralık 2007
Mesajlar
21
Excel Vers. ve Dili
Türkçe
Merhabalar, yapmış olduğum bir çalışmaya resim eklemek için tabloya resim diye tanımlama yaptım sonra formda ilişkili nesne çerçevesi koyup bunu özelliklerden veri kısmını resim olarak seçtim sonra formu çalıştırıp nesne ekleden resmimi ekledim lakin sıkıntım şu, bu programı içinde resimlerin olduğu tek bir klasör yaptım ve başka pc ye kopyaladım ama resim yolu benim kendi pc gördüğü için resimleri açmıyor ve accessi kitliyor. Lütfen yardım ediniz...
 
Katılım
18 Nisan 2007
Mesajlar
2,053
Excel Vers. ve Dili
Access 2019
Merhabalar, yapmış olduğum bir çalışmaya resim eklemek için tabloya resim diye tanımlama yaptım sonra formda ilişkili nesne çerçevesi koyup bunu özelliklerden veri kısmını resim olarak seçtim sonra formu çalıştırıp nesne ekleden resmimi ekledim lakin sıkıntım şu, bu programı içinde resimlerin olduğu tek bir klasör yaptım ve başka pc ye kopyaladım ama resim yolu benim kendi pc gördüğü için resimleri açmıyor ve accessi kitliyor. Lütfen yardım ediniz...
Merhaba..

Resmin sadece adını tabloya kaydedin ve dosya ile aynı dizinde bulunmasını sağlayın.. CurrentProject.Path ile istediğiniz bilgisayarda okutabilirsiniz.. Örneğinizi eklerseniz de daha net yardımcı olurum..
 
Katılım
5 Şubat 2007
Mesajlar
7
Excel Vers. ve Dili
Excell 2003
Sayın Taruz,
arkadaşların istediği özellik zaten tablo hazırlarken ve tablo alanlarını özelliklerini belirlerken ve de daha sonra bu tablo üzerine form sihirbazı ile bir form tasarlarken ACCESSS tarafından sağlanmıyor mu? Çünkü benim de dün sorduğum bir sorum var gerçi daha yanıt alamadım ama bu şekilde fotoğraf ekleme alanı koydum ve de çalışıyor. Merak ettim acaba yanlışlıkla birşeyi doğru mu yaptım. :)
Dosyam ektedir bakabilirsiniz. Teşekkürler
 

Ekli dosyalar

Katılım
18 Nisan 2007
Mesajlar
2,053
Excel Vers. ve Dili
Access 2019
Sayın Taruz,
arkadaşların istediği özellik zaten tablo hazırlarken ve tablo alanlarını özelliklerini belirlerken ve de daha sonra bu tablo üzerine form sihirbazı ile bir form tasarlarken ACCESSS tarafından sağlanmıyor mu? Çünkü benim de dün sorduğum bir sorum var gerçi daha yanıt alamadım ama bu şekilde fotoğraf ekleme alanı koydum ve de çalışıyor. Merak ettim acaba yanlışlıkla birşeyi doğru mu yaptım. :)
Dosyam ektedir bakabilirsiniz. Teşekkürler
Merhaba..

Sizin yaptığınızda yanlış bir şey yok..

Ben, çok gerekmedikçe dosya içine dosya yüklemeyi çok doğru bulmuyorum.. Bunun bir kaç sebebi var..:

Access dosya yapısı olarak bozulmaya müsaittir.. Bu tür alanlar barındıran veritabanları ise daha da müsaittir..

Diğeri ve bence en önemli nedeni ise veritabanı boyutu.. Eklediğiniz örnekten yola çıkarsak henüz 10 kayıt girilmiş bir veritabanı 2 MB boyutunu geçmiş bile.. Yüzlerce hatta binlerce veri ve dosya eklenmiş bir accdb dosyasını bir düşünsenize, koyacak yer bulamazsınız...

Resim olayında sadece linkleri depolamayı önermemin ana sebeplerinden ikisi budur..

İyi seneler dilerim..
 
Katılım
5 Şubat 2007
Mesajlar
7
Excel Vers. ve Dili
Excell 2003
Sayın Taruz,
bu güzel açıklama için teşekkürler. Çok doğru noktalara değinmişsiniz.
Daha öğrenecek çok şey var.
Saygılarımla
 
Katılım
9 Aralık 2007
Mesajlar
21
Excel Vers. ve Dili
Türkçe
Merhaba..

Resmin sadece adını tabloya kaydedin ve dosya ile aynı dizinde bulunmasını sağlayın.. CurrentProject.Path ile istediğiniz bilgisayarda okutabilirsiniz.. Örneğinizi eklerseniz de daha net yardımcı olurum..
Sn. Taruz,

Öncelikle özür dileyerek belirteyim örneği ekleyemiyorum şirket ile ilgili özel bilgiler yer almakta. CurrentProject.Path dediğiniz olay nedir ? Açabilir misiniz biraz?
 
Üst