(24/05/2019, 12:30)ozanakkaya yazdı: Sizin uygulamanıza göre, geçerli olduğunda olayının çalışması için formu yenilemeniz gerekiyor.
Formun geçerli olduğunda olayındaki kodu silin,
Vba sayfasında en alta
Sub AktifPasifHesap()
If Calisiyor_Ayrildi = "Ayrılmış" Then
Me.Aktif_Pasif = "Ayrılmış"
ElseIf Calisiyor_Ayrildi = "Kapalı" Then
Me.Aktif_Pasif = "Kapalı"
Me.Vize_Baslangic_Trh = ""
Me.Vize_Bitis_Trh = ""
Me.Metin40.BackColor = vbRed
ElseIf Me.Personel_Ozel_Durumu <> "" Then
Me.Aktif_Pasif = "Aktif"
Me.Metin40.BackColor = vbGreen
ElseIf Me.Vize_Bitis_Trh < Date Then
Me.Aktif_Pasif = "Pasif"
Me.Metin40.BackColor = vbRed
ElseIf Me.Personel_Ozel_Durumu = "" Or Me.Vize_Bitis_Trh < Date Then
Me.Aktif_Pasif = "Pasif"
Me.Metin40.BackColor = vbRed
End If
End Sub
şeklinde kod ekle.
şeklinde kod ekle.
- Formun geçerli olduğunda olayına
call AktifPasifHesap
kodu ekle.
Formun geçerli olduğunda olayına eklediğin kodu açılan kutuların güncelleştirme sonrasında olayına da ekle.
Form geçerli olduğunda ve açılan kutularda değişiklik yaptığınızda Sub AktifPasifHesap çalışacaktır.
üstad Frm_Firma_Bilgileri diye de bir formum var sizin yukarıdaki örneğe göre onuda şu şekil yapsam doğrumudur.
Sub AktifPasifHesap()
Dim GDate, G1, G2, G3, G4 As Long
GDate = CLng(Date)
G1 = CLng(Nz(Me.Yillik_Vize_Bitis_Trh, Date))
G2 = CLng(Nz(Me.Endustriyel_Donusum_Belgesi_Vize_Bitis_Tarihi, Date))
G3 = CLng(Nz(Me.ic_Tesisat_Belgesi_Vize_Bitis_Tarihi, Date))
G4 = CLng(Nz(Me.AltYapi_Vize_Bitis_Trh, Date))
If Not IsDate(Me.Yillik_Vize_Bitis_Trh) Then
Me.Aktif_Pasif = "Kapalı"
Exit Sub
End If
If (G1 > GDate) And (G4 < GDate) Then
Me.Aktif_Pasif = "Pasif"
Me.AltyapiVizeBitisTrh.BackStyle = 1
Me.AltyapiVizeBitisTrh.BackColor = vbRed
Me.Aktif_Pasif.BackColor = vbRed
ElseIf (G1 > GDate) And (G2 < GDate) Then
Me.Aktif_Pasif = "Pasif"
Me.Endustriyel_Donusum_Belgesi_Vize_Bitis_Tarihi.BackStyle = 1
Me.Endustriyel_Donusum_Belgesi_Vize_Bitis_Tarihi.BackColor = vbRed
Me.Aktif_Pasif.BackColor = vbRed
ElseIf (G1 > GDate) And (G3 < GDate) Then
Me.Aktif_Pasif = "Pasif"
ic_Tesisat_Belgesi_Vize_Bitis_Tarihi.BackStyle = 1
ic_Tesisat_Belgesi_Vize_Bitis_Tarihi.BackColor = vbRed
Me.Aktif_Pasif.BackColor = vbRed
ElseIf (G1 < GDate) Then
Me.Aktif_Pasif = "Pasif"
Me.Yillik_Vize_Bitis_Trh.BackStyle = 1
Me.Yillik_Vize_Bitis_Trh.BackColor = vbRed
Me.Aktif_Pasif.BackColor = vbRed
Else
Me.Aktif_Pasif = "Aktif"
Yillik_Vize_Bitis_Trh.BackStyle = 0
Me.AltyapiVizeBitisTrh.BackStyle = 0
Me.Endustriyel_Donusum_Belgesi_Vize_Bitis_Tarihi.BackStyle = 0
Me.Yillik_Vize_Bitis_Trh.BackStyle = 0
Me.Aktif_Pasif.BackColor = vbGreen
End If
End Sub
geçerli olduğunada
Private Sub Form_Current()
Call AktifPasifHesap
End Sub
yazsam buda doru olurmu
haziran4, 15-05-2009 tarihinden beri AccessTr.neT üyesidir.