![]() |
Kayıtta Dolu Olan Alanları Saymak - Baskı Önizleme +- AccessTr.neT (https://accesstr.net) +-- Forum: Microsoft Access (https://accesstr.net/forum-microsoft-access.html) +--- Forum: Access Cevaplanmış Soruları (https://accesstr.net/forum-access-cevaplanmis-sorulari.html) +--- Konu Başlığı: Kayıtta Dolu Olan Alanları Saymak (/konu-kayitta-dolu-olan-alanlari-saymak.html) Sayfalar:
1
2
|
Kayıtta Dolu Olan Alanları Saymak - truhi - 10/10/2024 Hocalarım merhaba, Bir tabloda Alan1, Alan2, Alan3, ...... , Alan9, Alan10 olarak 10 farklı alan mevcut, Bu alanlarda dolu olan tüm hücreler "X" olarak belirtilmiş durumda, bu alanlardan toplam kaç alana dolu, kaç alan boş hesaplama yöntemi ile nasıl bulabiliriz? "DoluAlan" adında yeni bir alan oluşturup buradaki 10 alandan kaç adeti dolu olduğunu sayı ile yazacak. Hesaplamayı Tabloda yada sorguda yapabilirim, fark etmez. Kod:
IIF([Alan1]="X";1;0) + IIF([Alan2]="X";1;0) + IIF([Alan3]="X";1;0) + ..... + IIF([Alan10]="X";1;0) Alanlar tek-tek toplanarak yapılabilir ama; ben daha pratik ve kullanışlı bir çözüm arıyorum. yardımlarınız için şimdiden teşekkürler, iyi akşamlar. RE: Kayıtta Dolu Olan Alanları Saymak - onur_can - 10/10/2024 Alanların boş ve dolu olarak kontrol edilip değişkenlere aktarılabilir fakat, siz bu olayı tek bir kayıt üzerinden mi yapmak istiyorsunuz yoksa tabloda bulunan tüm kayıtlarda mı Örneğin; Tabloda 15 tane kayıt olsun, her bir kayıt 10 alandan oluşuyor doğrumu, şimdi; 1.Kayıtta 5 alan boş, 5 alan dolu, 2.kayıtta 7 alan boş, 3 alan dolu, 3.kayıtta 4 alan boş, 6 alan dolu, 4.kayıtta 9 alan boş, 1 alan dolu, ....... ....... 15.kayıtta 2 alan boş 8 alan dolu tüm kayıtlarda boş alanların sayısı 56 dolu olan kayıtların sayısı 87 duruma göre kodda değişir. RE: Kayıtta Dolu Olan Alanları Saymak - truhi - 11/10/2024 (10/10/2024, 23:05)onur_can yazdı: Alanların boş ve dolu olarak kontrol edilip değişkenlere aktarılabilir fakat, siz bu olayı tek bir kayıt üzerinden mi yapmak istiyorsunuz yoksa tabloda bulunan tüm kayıtlarda mı Hocam Satır- satır yani her bir kayda ayrı bakacak Tabloda 15 tane kayıt olsun, her bir kayıt 10 alandan oluşuyor doğrumu, şimdi; 1.Kayıtta 5 alan boş, 5 alan dolu, 2.kayıtta 7 alan boş, 3 alan dolu, 3.kayıtta 4 alan boş, 6 alan dolu, 4.kayıtta 9 alan boş, 1 alan dolu iyi Çalışmalar. RE: Kayıtta Dolu Olan Alanları Saymak - atoykan - 11/10/2024 10 alanlı tablonuza dayalı bir form oluşturduğunuzu varsayalım. Oluşturduğunuz 10 textboxta bu alanların verileri olacaktır. Bunlara ek olarak ilişkisiz 2 textbox ekleyip birini txt_BosAlan birini txt_DoluAlan diye adlandırırsak formun geçerli olduğu (Form_Current) olayında tanımlayacağımız
şeklinde bir kod bize istediğimiz sonucu verecektir. Döngünün If ctl.ControlType = acTextBox And Not IsNull(ctl.ControlSource) Then kısmı denetimleri tablo alanlarına dayanmayan ilişkisiz textboxlarımızı sayımın dışında bırakacağından kontrol sayısı tablodaki tüm alanları eklediğiniz varsayımı altında alan sayısını verecektir keza aynı şekilde illa ki 10 alanlı bir tablo olması gerekmez alan sayısını da otomatik olarak hesaplamanıza yardımcı olacaktır.
RE: Kayıtta Dolu Olan Alanları Saymak - truhi - 11/10/2024 (11/10/2024, 17:08)atoykan yazdı: 10 alanlı tablonuza dayalı bir form oluşturduğunuzu varsayalım. Oluşturduğunuz 10 textboxta bu alanların verileri olacaktır. Bunlara ek olarak ilişkisiz 2 textbox ekleyip birini txt_BosAlan birini txt_DoluAlan diye adlandırırsak formun geçerli olduğu (Form_Current) olayında tanımlayacağımız Hocam bahsetmiş olduğunuz kodlar formda kullanılacak galiba; ben tablo yada sorgu üzerinde yapmak için sormuştum teşekkürler, RE: Kayıtta Dolu Olan Alanları Saymak - atoykan - 11/10/2024 Evet form için, sorularınız hep Access olduğundan Excel olduğunu gözönüne almadan ezbere yazmışım pardon. Excel içinde bu işlem çok daha kolay boş hücrede çokeğersay formülü ile pratik bir şekilde boş ve dolu alanları sayabilirsiniz. Örneğin ÇOKEĞERSAY(A1:J1;"<>") formülü A1:j1 arasında dolu hücre sayısını verir, ÇOKEĞERSAY(A1:J1;"") ise boş hücre sayısını verir. Exceli doğru mu denemeden yazamıyorum o yüzden editledim cevabı. |