Skip to main content

AccessTr.neT


Koşullu Renklendirme

Koşullu Renklendirme

Çözüldü #1
Arkadaşlar merhaba, personelimizin sağlık kontrollerini takip edebilmek için oluşturduğumuz bir veri tabanı var. Buraya son muayene tarihlerini giriyoruz ve bu muayeneler belirli periyodlarda tekrarlanıyor.

   Benim yapmaya çalıştığım (yapamadığım) muayene periyodu geldiğinde en son girdiğimiz muayene tarihin kırmızı olması, bunun için programın personelin doğum gününe bakıp muayene periyoduna karar vermesi, muayene tarihi gelmiş ise en son girdiğimiz muayene tarihin kırmızı olması.

[Resim: do.php?imgf=150840537406731.png]

    Muayene periyodları şöyle;
  • 45 yaşına kadar 5 yılda bir
  • 45 - 55 yaşları arasında 3 yılda bir
  • 55 yaşından büyükse 2 yılda bir
   Yardımlarınız için teşekkür ederim, iyi çalışmalar.
.rar veri_tabani.rar (Dosya Boyutu: 321,99 KB | İndirme Sayısı: 13)
Cevapla
#2
(19/10/2017 12:41)ertans Adlı Kullanıcıdan Alıntı: en son girdiğimiz muayene tarihi

Merhaba,
Tarih girişi yapılan 3 metin kutusu var, bahsettiğiniz renklendirme bu 3 tarihten en son girilen yani en yeni tarihe göre mi yapılacak?
Cevapla
#3
(19/10/2017 20:34)ozanakkaya Adlı Kullanıcıdan Alıntı:
(19/10/2017 12:41)ertans Adlı Kullanıcıdan Alıntı: en son girdiğimiz muayene tarihi

Merhaba,
Tarih girişi yapılan 3 metin kutusu var, bahsettiğiniz renklendirme bu 3 tarihten en son girilen yani en yeni tarihe göre mi yapılacak?

Merhaba Sayın ozanakkaya, 3 ayrı sağlık testi için tarih giriliyor ve 3 ' nü de ayrı ayrı takip ediyoruz. Bu testlerden örneğin Sağlık Kontrolü nün bugün yapıldığını varsayalım. Buna göre;
  • Bu tarihi ilgili yere yazıyorum (19.10.2017)
  • Diyelimki Sağlık kontrolü yaptıran personel 47 yaşında (periyot bu durumda 3 yılda bir)
  • 19.10.2020 ' de kırmızı olması bana yeni test tarihinin geldiğini anlatmış olacak.
  • Diğerleri de, yani diğer 2 testte de durum aynı onlardada son test tarihinden sonra yaşına göre kırmızı olmasını istiyorum
Cevapla
#4
Merhaba,

Formun geçerli olduğunda olayına aşağıdaki kodu ekleyiniz.

Visual Basic Code
Dim GSure, GYas, GSKYil As Integer

' GYas: Kişinin Yaşı
' GSure: 45 yaşına kadar 5 yılda bir 45 - 55 yaşları arasında 3 yılda bir 55 yaşından büyükse 2 yılda bir
' GSKYil: Kontrol tarihinine göre geçen yıl sayısı

GYas = Abs(DateDiff("yyyy", [dogum_tarihi], Date)) - IIf(Format([dogum_tarihi], "mmddhhnnss") <= Format$(Date, "mmddhhnnss"), 0, 1)
GSure = IIf(GYas > 55, "2", IIf(GYas >= 45 And GYas <= 55, "3", "5"))

GSKYil = IIf(IsNull(Me.saglık_kontrol), "0", Abs(DateDiff("yyyy", [saglık_kontrol], Date)) - IIf(Format([saglık_kontrol], "mmddhhnnss") <= Format$(Date, "mmddhhnnss"), 0, 1))

If GSKYil = GSure Or GSKYil > GSure Then
    Me.saglık_kontrol.BackColor = vbRed
Else
    Me.saglık_kontrol.BackColor = vbWhite

End If

47 yaşındaki kişiye 18.10.2014 tarihini girerseniz formda bu kişiye ait kaydı açtığınızda kırmızı olacaktır. 
İşlem sadece saglık_kontrol metin kutusuna yapıldı. Diğer 2 metin kutusuna koda ekleme yaparak düzenlemelisiniz.
Cevapla
#5
Sayın ozanakkaya, formun geçerli olduğunda olayında personel resmini göstermek ile ilgili başka bir kod var altına eklediğimde hata veriyor ne önerirsiniz?
Cevapla
#6
Formun geçerli olduğunda olayındaki kodu (verdiğim kod ilebirlikte) son haliyle yazınız.
Cevapla

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

Yorum yapmak için üye olmanız gerekiyor

ya da