AccessTr.neT

Tam Versiyon: 2'inci Girilen Tarih, Bir Önceki Tarihe Eşit Ve Küçük Olursa Hata Vermeli
Şu anda arşiv modunu görüntülemektesiniz. Tam versiyonu görüntülemek için buraya tıklayınız.
Sayfalar: 1 2 3
(24/03/2021, 12:10)atoykan yazdı: [ -> ]Kod ile zorlanıyorum derseniz formunuzda ilgili alanın geçerlilik kuralını ve geçerlilik metnini de kullanabilirsiniz.
Geçerlilik kuralı alanına [Senet Tarihi_2]>[Senet Tarihi_1] Geçerlilik Metni alanına da uyarı mesajınızı yazabilirsiniz.

Çok teşekkür ederim. Bu dediğiniz şekilde şekilde yapabiliyorum.
@atoykan hocama ilaveten aşağıdaki kodlar da denenebilir
Kodlar altforma eklenecek
Private Sub Form_Open(Cancel As Integer)
Dim ctl As Control
For Each ctl In Me
    If ctl.Name Like "Senet Tarihi_*" Then ctl.OnExit = "=TrkKont([" & ctl.Name & "])"
Next ctl

End Sub

Function TrkKont(ByRef ctl As Control)
xCtlNum = Mid(ctl.Name, 14)
If xCtlNum > 1 Then
    If ctl.Value <= Controls("Senet Tarihi_" & xCtlNum - 1).Value Then
        MsgBox ctl.Value & " tarihi " & Controls("Senet Tarihi_" & xCtlNum - 1).Value & "tarihinden küçük/eşit olamaz"
        ctl.Value = Null
        ctl.SetFocus
    End If
End If

If xCtlNum < 10 Then
    If ctl.Value >= Controls("Senet Tarihi_" & xCtlNum + 1).Value Then
        MsgBox ctl.Value & " tarihi " & Controls("Senet Tarihi_" & xCtlNum + 1).Value & "tarihinden büyük/eşit olamaz"
        ctl.Value = Null
        ctl.SetFocus
    End If
End If

End Function
(24/03/2021, 12:56)berduş yazdı: [ -> ]@atoykan hocama ilaveten aşağıdaki kodlar da denenebilir
Kodlar altforma eklenecek
Private Sub Form_Open(Cancel As Integer)
Dim ctl As Control
For Each ctl In Me
    If ctl.Name Like "Senet Tarihi_*" Then ctl.OnExit = "=TrkKont([" & ctl.Name & "])"
Next ctl

End Sub

Function TrkKont(ByRef ctl As Control)
xCtlNum = Mid(ctl.Name, 14)
If xCtlNum > 1 Then
    If ctl.Value <= Controls("Senet Tarihi_" & xCtlNum - 1).Value Then
        MsgBox ctl.Value & " tarihi " & Controls("Senet Tarihi_" & xCtlNum - 1).Value & "tarihinden küçük/eşit olamaz"
        ctl.Value = Null
        ctl.SetFocus
    End If
End If

If xCtlNum < 10 Then
    If ctl.Value >= Controls("Senet Tarihi_" & xCtlNum + 1).Value Then
        MsgBox ctl.Value & " tarihi " & Controls("Senet Tarihi_" & xCtlNum + 1).Value & "tarihinden büyük/eşit olamaz"
        ctl.Value = Null
        ctl.SetFocus
    End If
End If

End Function

BU KODLARI nereye yazacam hocam?
Mesajın 2. satirinda yaziyor aslında)
Alt formunuzu tasarım modunda açıp oraya eklemelisiniz
(24/03/2021, 14:23)berduş yazdı: [ -> ]Mesajın 2. satirinda yaziyor aslında)
Alt formunuzu tasarım modunda açıp oraya eklemelisiniz

Berduş hocam Alt Formun "Yüklendiğinde" Olay Yordamına mı?
Alt formda yanılmıyorsam form_open olayı yoktu
Siz sadece her 2 kod bloğunu kopyalayıp Vba penceresinin en altına ekleyin

kod sayfasındaki son satırın hemen altına
Sayfalar: 1 2 3