Skip to main content

AccessTr.neT


Açılan kutudan veri getirme (dlookup ve column() olmadan) 2. Perde

mehmetdemiral
mehmetdemiral
15
10468

Açılan kutudan veri getirme (dlookup ve column() olmadan) 2. Perde

#1
Arkadaşlar, daha önce 2009 yılında açtığım Dlookup olmadan forma combodan veri alma konusuna başvuru olarak ihtiyaç duyacak arkadaşlara güncel bilgi olması bakımından bir ilave yapmak isterim. Açılan kutular (Yani combobox) toplam 255 karakter barındırabiliyor. Eğer tablodan combo ve column() komutu aracılığı ile veri alacaksanız toplamda 255 karakterden fazla veri getiremezsiniz. Bu nesnenin limitiyle ilgili bir durum. Şahsen benim son üzerinde çalıştığım projede bu sınırlama bayaa canımı sıktı. Araştırdım ki çözümü -en azından by yöntem üzerinden- yok. Dlookup komutunu hiç sevmeyen ve her defasında "yok form üzerindeki adıydı, yok tablodaki adıydı, yok şu kriterler eşleşecek de bu veri şuraya gelecekti" şeklindeki beyin fırtınası, sürmenaja çevirmeye varan biçimlere dönüşmeye duran bir kişi olarak başka alternatifler aradım. Önce ne yalan söyleyeyim bir Dlookup kullanım kalıbı yakalayıp onunla devam eder giderim dedim. Ama her nasılsa verileri uyuşmazlığı nedeniyle bir türlü açılır kutudaki kriterim ve tablodaki kriter uyuşamadı, anlaşamadı. Tembellikten midir nedir, dededen kalma access'e özgü bir kolaylık olarak altformdan çağırma yöntemini kullandım. Çok eskiden beri severim bu yöntemi. Sıkıştığınızda kullanasınız diye size de anlatmak istedim:

1- Form üzerine bir altform yerleştiriyoruz.

2- Verileri seçme sorgusu üzerinden alıp birincil anahtarımız olan alan -genelde id alanı- ile formdaki comboda da aynı alanı eşliyoruz. Böylece altforma süzüşmüş olan combodaki seçili veriler gelecektir.

3-Artık comboya yazacağımız koda bakalım. Ana formumuzda veri aktaracağımız metin kutusunun adı "metin0" olsun, altformumuzun adı "veri_altformu" olsun, id alanımızın adı "kayit_id" olsun, altformadi veriyi alacağımız alanın adı da "veri_alani" olsun. Bu durumda açılan kutumuzun güncelleme sonrasında olayına yazacağımız kodumuz şöyle olacaktır:
Kod:
me.metin0= [veri_altformu].Form![veri_alani]
Bu arada combonun güncelleme sonrasında (after update) olayına yazacağımız bu kodun bir üstüne de
Kod:
veri_altfomu.requery
yazmamız lazım. Yoksa değişen verileri göremezsiniz.

Bu arada işimiz bittiğinde alt formu küçültüp bir kenara küçük bir nokta biçiminde bırakıp gizleyelim. Bunun için görünür özelliğini "Hayır" yapmak yeterli.
İnadına, ille de Accesstr.net...
Cevapla
#2
Sayın mehmetdemiral. Hep alışmışız Dlookup yada combodan veri almaya. Sizin çok fazla faktinizi almayacaksa küçük bir örnek eklmeniz mümkünmüdür ?
Cevapla
#3
iceleyiniz
.rar dlookup örneği2.rar (Dosya Boyutu: 33,07 KB | İndirme Sayısı: 226)
.rar mdemiralornek.rar (Dosya Boyutu: 17,5 KB | İndirme Sayısı: 153)
Son Düzenleme: 17/09/2014, 20:48, Düzenleyen: simendifer.
Cevapla
#4
Sevgili Ekrem abi, yayınladığım ilk örnek (isminde tdsharun olmayan) da bana ait bir örnek. Orada Dlookup ile form üzerinden alınıyor. Harun arkadaşın hazırladığı vb örneği de çok güzel bir çalışma. Diğer dosya ise Column komutu ile combodan veri alan örnek. Mesut bey anlattığım diğer yöntemin örneğini istedi. O örneği henüz hazırlamadığım için sitede de bulamazsınız. Şimdi hazırlayıp ekliyorum. Katkılarınız için teşekkürler.
İnadına, ille de Accesstr.net...
Cevapla
#5
Örnek eklendi. Tek örnekte 3 yöntemi de kullandım ve karşılaştırdım.
.rar mdemiralornek.rar (Dosya Boyutu: 37,11 KB | İndirme Sayısı: 209)
İnadına, ille de Accesstr.net...
Cevapla
#6
çok degerli sevgili kardeşim mehmet demial sitedeki katkılarınız taktire şayan dır sizleri her zaman saygı ile hatırlar ve yardımlarınız la bizler bir yere kadar geldik dahada sizlerden çok öğreneceğimiz işlemler var teşekkürlerimi ve saygılarımı kabul edin
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da
Task