Krİtere GÖre HÜcreye Otomatİk Yazdirma

Katılım
29 Nisan 2008
Mesajlar
50
Excel Vers. ve Dili
2003
Ektekİ ÖrneĞİmde Özel Durumu Tazan Yere
Cİnsİyet "k" Ve KİŞİ 15-49 YaŞ AraliĞinda İse---- 15*49 YaŞ Kadin
Sonadettarİhİ Alani Dolu İse------------------- Gebe
DoĞum Tarİhİ 1yildan Az İse --------------------bebek
DoĞum Tarİhİ 1-5 Yil İse -------------------------Çocuk Yazdirmak
İstİyorum
Yardim Edermİsİnİz.
 
Katılım
30 Ocak 2006
Mesajlar
937
Excel Vers. ve Dili
Access 2003
Sayın kemalcivici
İstediğiniz şey bir form, makro, sorgu vs aracılığı ile yapılabilir. Bunun için sizin çalışmanızı bir form aracılığı ile yaptım. İnceleyin..

Kolay gelsin.
 
Katılım
29 Nisan 2008
Mesajlar
50
Excel Vers. ve Dili
2003
sayın demiral
öncelikle teşekkür ederim
fakat bi yanlışlık var sanırım
bendeki veri tabanımı kopyaladığımda kritere göre tablomda özel duruma atama yapmıyor
bunun birde makro ve sorgu ile nasıl yapılacağını gösterirseniz sevinirim.
 
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Sayın kemalcivici,

Yapmak istediğiniz veritabanı mantığına aykırı. Tabloya tablonun verilerini kullanarak yeni kayıt yapılmaz. İlerde kullanım sırasında sorunlara neden olur ve boşu boşuna veritabanına yük bindirilmiş olur.

Veritabanından sonuçları form veya rapor ile alırız. Ve bu gibi sonuçları bu aşamada ayarlarız.

Excel de bu olanak olmadığı için çok kişi bu gibi sonuçları tablolara kaydetmek istiyor. Ama inanın gereksiz.

İyi çalışmalar
 
Katılım
30 Ocak 2006
Mesajlar
937
Excel Vers. ve Dili
Access 2003
Sayın Kemalcivici
Sayın Modalı'nın da belirttiği gibi ve benim de başta söylediğim gibi bahsettiğiniz işlemler tablo üzerinde yapılamaz. Bu iş için excel'i kullanmanız daha mantıklı olur. Ama "ben access ile yapacağım" derseniz, böyle olur. Bunun en mantıklı yolu budur. Sorgu ile de yapsanız, makro ile de yapsanız bu işlemi form üzerinden yapmak en mantıklısıdır. Eğer direk tablo üzerine veri girmeyi ve bahsettiğiniz işlemleri yapmayı düşünüyorsanız Access bu iş için değildir. Access'te tablolar sadece veri deposudur, bilgi direkt olarak girilip if...then mantığı yürütülmez.
 
Son düzenleme:
Katılım
29 Nisan 2008
Mesajlar
50
Excel Vers. ve Dili
2003
TeŞekkÜr Ederİm Sayim Modali Ve Demİral
Sayin Demİral İlk GÖnderdİĞİnİz Örnektekİ ModÜlÜ İnceledİm Çok UĞraŞtim Ancak DÜzenleyemedİm Sanirim Cİnsİyet Krİterİ Gİrİlİnce YaŞa Bakmadan Herkese 15-49 YaŞ Kadin Dİyor.
Tekrar İncelersenİz Mutlu OlacaĞim.
Hatta 15-49 YaŞkadin SeÇeneĞİnİ Kaldirarak YaŞa GÖre 365 GÜnden KÜÇÜk Ve EŞİtse Bebek ,, 366-1825 GÜn Arasinda İse Çocuk , Son Adet Tarİhİ Sekmesİ Dolu İse Gebe Yazsin.
Şİmdİden TeŞekkÜr Eder Saygilar Sunarim
 
Katılım
30 Ocak 2006
Mesajlar
937
Excel Vers. ve Dili
Access 2003
Sayın kemalcivici
Kodlarda hata yok. E işaretlenince son adet tarihi görünmez oluyor ve özel durumu boş kalıyor. Ama sanırım siz önce K girdiğiniz için artık E girseniz de değişmiyor. Fakat ben zaten size sadece örnek olsun diye yaptım. Burası bir paylaşım sitesi ve birbirimizin takıldığı yerlerde yardım ediyoruz, programınızı yeniden yazmıyoruz. Bu şekilde hem amacımızın dışına çıkmış, hem de bu sitede profesyonel olarak bu işlerden para kazanan, hatta yaşamını kazanan insanlara haksızlık yapmış olurduk.
Ben yine de size fikir vereyim. Nasıl olsa birisi örnek üzerinde düzeltme yaparak size yardımcı(!) olacaktır.

Aynı mantıkla cinsiyet kutusunda yapılan herhangibir değişiklikte Özel durumu kutusundaki değeri sıfırlayabiliriz. Bunun için cinsiyet kutusunun güncelleme sonrasında yordamındaki kodun en altına end subtan bir yukarı satıra şu kodları yerleştirelim

If Me.cinsiyet = "E" And Me.özeldurumu = "15*49 YaŞ Kadin" Then
Me.özeldurumu = ""
End If

Böylece cinsiyet "e" ise ve özel durumunda "15*49 YaŞ Kadin" yazıyorsa özel durumunu temizlemiş olacaktır. Bu ifadeyi hep çıkartmak ise oldukça kolay.. Tırnaklar arasındaki ifadeyi silin yeter..

İkinci isteğiniz için de YAŞ adındaki metin kutusunun denetim kaynağındaki /365 ifadesini silin. Artık oradaki değer günlük oldu. Böylece kodlara bakarak yıl üzerinden istediğiniz kodları güne çevirebilirsiniz. Meslela doğum tarihi kutusunun güncelleme sonrasında olay yordamındaki kodları

If Me.Metin7 < 365 Then
Me.&#246;zeldurumu = "BEBEK"
Else
If Me.Metin7 >= 365 Or Me.Metin7 <= 1825 Then
Me.&#246;zeldurumu = "&#199;OCUK"
If Me.Metin7 > 1825 Then Me.&#246;zeldurumu = ""
Else
End If
End If


olarak de&#287;i&#351;tirin. Asl&#305;nda e&#287;itimci g&#246;z&#252;yle bak&#305;nca, bunlar&#305; &#246;rne&#287;i inceleyerek sizin yapman&#305;z&#305; daha &#231;ok tercih ederdim, ama neyse....


Kolay gelsin
 
Üst