Merhaba,
Klasik veri getirme yönteminden biraz farklı bir durum olduğu için çok uğraştım ama yapamadım.
Ekteki dosyada standart_raporu_formu'nda bulunan açılan kutudan seçtiğim kritere göre alttaki liste kutusuna "standartlar_listesi_tablosu"ndan veri getirmek istiyorum ama veri tabanındaki alanda veriler aralarında virgül bulunarak tek satırda yazıyor. Bunların içinden süzüp bulduklarını getirmesi lazım. "Like" ile yapmayı denedim ama Vba kodunda uygulayamadım.
Yardımcı olursanız sevinirim...
Açılan Kutudan Seçilene Göre Veri Getirme
Önceki sorunuzda yaptığı uyarı bunun içindi. Çözülemeyecek bir sorun değil ancak yanlış yol. Olması gereken:
Normalizasyon ile yapılırsa :
Yetkinlikler için ayrı bir tablo olmalı. standartlar_listesi_tablosu tablosundaki Id değeri ile hangi yetkinlik varsa o değer kaydedilmeli.
Amelezasyon ile yapılırsa :
Ben genelde bu yöntemi kullanıyorum standartlar_listesi_tablosu içinde yer yetkinlik için bir sayısal alan oluşturun. Alan boyutu Bayt, varsayılan değeri 0 olsun. Formda onay kutusu işaretlenince tablodaki değerini 1 yapacaksınız. Daha sonra bu sorudaki gibi arama yapacak olunca XX alanı = 1 olan diye aratmanız yeterli ve en önemlisi doğru yöntem olacaktır.
Muhtemelen siz lazım olan o alan değerine göre farklı Kalıp Hazırlama vs. gibi metin göstermek istiyorsunuz. Bu konuda sizi engelleyen bir şey yok. Nasıl ki onay kutularının Güncelleme sonrasında olayında IF kontrolü yaptınız aynısını metin/cümle gösteriminde de yapacaksınız.
Şu anki duruma göre çözüm zor değil aslında.
Önce açılan kutudan bir yetkinlik seçin sonra Sonuçları Göster butonuna tıklayın.
Normalizasyon ile yapılırsa :
Yetkinlikler için ayrı bir tablo olmalı. standartlar_listesi_tablosu tablosundaki Id değeri ile hangi yetkinlik varsa o değer kaydedilmeli.
Amelezasyon ile yapılırsa :
Ben genelde bu yöntemi kullanıyorum standartlar_listesi_tablosu içinde yer yetkinlik için bir sayısal alan oluşturun. Alan boyutu Bayt, varsayılan değeri 0 olsun. Formda onay kutusu işaretlenince tablodaki değerini 1 yapacaksınız. Daha sonra bu sorudaki gibi arama yapacak olunca XX alanı = 1 olan diye aratmanız yeterli ve en önemlisi doğru yöntem olacaktır.
Muhtemelen siz lazım olan o alan değerine göre farklı Kalıp Hazırlama vs. gibi metin göstermek istiyorsunuz. Bu konuda sizi engelleyen bir şey yok. Nasıl ki onay kutularının Güncelleme sonrasında olayında IF kontrolü yaptınız aynısını metin/cümle gösteriminde de yapacaksınız.
Şu anki duruma göre çözüm zor değil aslında.
- Liste kutusunun Özellikler->Satır Kaynağı'ndaki yazanları silin.
- Satır Kaynak Türü Tablo/Sorgu olmalı
- Biçim sekmesindeki Sütun Sayısı alanına kaç sütun gösterecekseniz o sayıyı yazın.
- Sütun Genişliklerine kaç cm gözükmesini istediğinizi aralarına ; koyarak yazın. Üstteki maddede 5 olarak ayarladınız diyelim o zaman burada da 5 tane değer girmelisiniz.
- Sonuçları Göster butonunun Tıklanma olayına alttaki kodları yazmanız yeterlidir
Me.standart_listesi.RowSource = "SELECT * FROM standartlar_listesi_tablosu WHERE yetkinlik LIKE '*" & Me.sec & "*'"
Me.standart_listesi.Requery
Önce açılan kutudan bir yetkinlik seçin sonra Sonuçları Göster butonuna tıklayın.
AccessTr.Net teknik konular içeren bir sitedir. Bu tip sitelerde en iyi şekilde yardım alabilmeniz için Site Kurallarını mutlaka okumanız ve buna göre hareket etmeniz lazım.
(19/04/2017, 16:19)alpeki99 yazdı: Önceki sorunuzda yaptığı uyarı bunun içindi. Çözülemeyecek bir sorun değil ancak yanlış yol. Olması gereken:
Normalizasyon ile yapılırsa :
Yetkinlikler için ayrı bir tablo olmalı. standartlar_listesi_tablosu tablosundaki Id değeri ile hangi yetkinlik varsa o değer kaydedilmeli.
Amelezasyon ile yapılırsa :
Ben genelde bu yöntemi kullanıyorum standartlar_listesi_tablosu içinde yer yetkinlik için bir sayısal alan oluşturun. Alan boyutu Bayt, varsayılan değeri 0 olsun. Formda onay kutusu işaretlenince tablodaki değerini 1 yapacaksınız. Daha sonra bu sorudaki gibi arama yapacak olunca XX alanı = 1 olan diye aratmanız yeterli ve en önemlisi doğru yöntem olacaktır.
Muhtemelen siz lazım olan o alan değerine göre farklı Kalıp Hazırlama vs. gibi metin göstermek istiyorsunuz. Bu konuda sizi engelleyen bir şey yok. Nasıl ki onay kutularının Güncelleme sonrasında olayında IF kontrolü yaptınız aynısını metin/cümle gösteriminde de yapacaksınız.
Şu anki duruma göre çözüm zor değil aslında.
- Liste kutusunun Özellikler->Satır Kaynağı'ndaki yazanları silin.
- Satır Kaynak Türü Tablo/Sorgu olmalı
- Biçim sekmesindeki Sütun Sayısı alanına kaç sütun gösterecekseniz o sayıyı yazın.
- Sütun Genişliklerine kaç cm gözükmesini istediğinizi aralarına ; koyarak yazın. Üstteki maddede 5 olarak ayarladınız diyelim o zaman burada da 5 tane değer girmelisiniz.
- Sonuçları Göster butonunun Tıklanma olayına alttaki kodları yazmanız yeterlidir
Me.standart_listesi.RowSource = "SELECT * FROM standartlar_listesi_tablosu WHERE yetkinlik LIKE '*" & Me.sec & "*'"
Me.standart_listesi.Requery
Önce açılan kutudan bir yetkinlik seçin sonra Sonuçları Göster butonuna tıklayın.
Tüm önerileriniz için çok teşekkürler. Dün ki uyarınız aklımda ama nasıl yapacağımı bilemedim. O yüzden kaydetme işlemini bu yöntemle yapmak zorunda kalmıştım.
Bildiğim her yolu denedim. Verileri Like ile çekeceğimi de biliyorum ama nasıl yapacağımı bulamadım. Sayenizde LIKE '*" & Me.sec & "*'" komutu ile tam istediğim sonuca ulaştım...
Konuyu Okuyanlar: 1 Ziyaretçi