Yapmaya çalıştığım bir projem var. Daha önceden bunu excelde yapmıştım. Lakin benzer olsada çalışma tarzı biraz farklı olduğu için bunu accesse aktaramadım. Acces ile ilgili temel eğitim ve Vba ile ilgili 100 dersi izledim ve örnekleri inceledim. Lakin istediğim konuyu bulamadım. Olayı elimden geldiğince yalın anlatmaya çalışacağım.
Tüm verileri önden ben gireceğim. Kullanıcı sadece bunları seçim yaparak elde edeceği raporu kullanacak. Tamamen hayal ürünü bir şablon hazırlamaya çalıştım. Bu örnekte elimizde 3 adet ürün var. Bu ürünlerde sunulan opsiyonların seçimine göre kendine ait bir sipariş kodu ve ilgili görselleri raporda görebiliyor.
Çözmeye çalıştığım 3 tane konu var.
1 - Bu kadar komplex bir combobox nasıl oluşturabilirim.
2 - Kodlamayı seçilen kriterlere göre nasıl oluşturacağım.
3 - Resmi bu kriterlere göre nasıl çağıracağım ilgili forum ve rapora
Aşağıda detayları yazdım.
- Urun kodlamaları hakkında;
-- Kodlama Urun tipine göre X ürünü için "UX-", Y ürünü için "UY-" ve Z ürünü için "UZ-" şeklinde başlıyor. Sonrası "UrunX Kodlama" tablosundaki kriter ve karşılığı sayı veya harflerin birleşimiyle devam ediyor. Son kısımda ise ürüne göre (x,y veya z) ilgili progresifte yer alan koda - ile progresif numarasını bağlanması ile oluşuyor. Örnek vermek gerekirse x ürünü için Kod "UX-A0503B-00", z ürünü içni kod "UZ-E3350D-S01"
-- Progressive kısmı Urun X için Malzeme ve Koruma opsiyonuna göre iki haneden oluşmaktadır. Urun Y ve Z için Malzeme ve Koruma opsiyonuna ilave olarak boy opsiyonuyla birlikte bir üç haneli bir progresif oluşmaktadır.
Resim Çağırma;
-- FmUrun kısmında ve raporda, SecinUrun formlarından hangisi kullanıldıysa bun kriterlerden iki tanesi için ilgili görsel ilgili yerine geliyor. (FmUrun kısmında ilgili kritelerin üzerine tiketlerini koydum). Tabi seçilen her kriter bilgisi Formuda ve raporda görülecek ayrıca. Bunların için ayrıca labelı sonradan ekleyebilirim diye örneğe hepisini koymadım.
-- Şimdi comboboxdan bunu yapmak kolay diyebilirsiniz. Lakin şöyle bir örnekleme yapayım.
------Mesela Urun x den bahsedecek olursak, Model Ex1 için sadece Kırmızı ve turuncu renk mümkün ve kırmızı için güç olarak 30HP ve 100 HP iken turuncu için 3 Hp ile 10 Hp mümkün, sonraki L için ise kırmızıda 50 70 100 ve turuncu için 100, 150, 200 mümkün. diğer değişkenlerde birbirine bağlı olarak çok farklı kombinasyonlarda çoğalıyor. yaklaşık 20 faklı opsiyon var her bir ürün için yaklaşık 15-20 ürün var. Gerçek versiyon için düzenli bir tablo yaratmam çok olası değil o yüzden. Kullanıcı herhangi bir özellikten yola çıkarak diğer opsiyonları seçebilmeli. Yani her iki taraflı bir filitreleme yaratmam gerekiyor. her seçimde diğer tüm comboboxlar kendini ona göre yenileyecek.
Bunları nasıl yapabileceğim konusunda bana yol göstermenizi rica ediyorum. Excel görsel olarak yeterli olmadığı ve Access daha kolay ve hafif olduğu için kullanmak istiyorum. Şimdiden herkese teşekkür ederim.
Not1: Exceldeki çalışmamda tüm comboboxları kod ile yarattığımdan döngü kurmak kolaydı. ilgili data sheetinden istediğim noktaları atayarak sağlayabiliyordum.
Not2: Resim çağırma olayını excelde tüm ilgili görselleri bir sheet içine gömüyor ve atadığım isimler ile aşağıdaki modül yardımıyla çağırıyordum. Belki işinize yarar diye aşağıda paylaşıyorum.
Sub GetPicture3(MyShape As String)
Dim MyChart As Chart
Dim TempFile As String
If resimsayac = 1 Then Exit Sub
TempFile = "Temp.jpg"
Sheets("Pictures").Shapes(MyShape).CopyPicture xlScreen, xlBitmap
Set MyChart = ActiveSheet.ChartObjects.Add(1, 1, 60, 69).Chart
With MyChart
.Paste
.Export TempFile
.Parent.Delete
End With
Image3.Picture = LoadPicture(TempFile)
Kill TempFile
Set MyChart = Nothing
End Sub"