Skip to main content

AccessTr.neT


String Tarih Formatında Mı Yazılmış

String Tarih Formatında Mı Yazılmış

#49
Tekrar özür dilerim dediğim gibi son hali o diye düşünmüştüm elbette kullanacağım
Cevapla
#50
Özür kabul edildi üstad Img-grinBiraz acele oldu zamanım kalmadı bir deneyin diyeceğim ama mualla.
Kullanım
Private Sub Komut2_Click()
    If isTarih(Metin0) = False Then
        MsgBox "Hatali"
    Else
        MsgBox "Dogru"
    End If
 
End Sub


Kod;
Private Function isTarih(metinTextbox As TextBox) As Boolean
   
    With metinTextbox
   
    isTarih = False
   
        If .Value = "" Or IsNull(.Value) Then GoTo enson
            Dim tarih As Variant, trh As Date, eom As Long, deger As String

            .Value = Replace(.Value, " ", ".")
            .Value = Replace(.Value, "/", ".")
            tarih = Split(.Value, ".")
         
            If Len(tarih(0)) = 1 Then tarih(0) = "0" & tarih(0)
            If Len(tarih(1)) = 1 Then tarih(1) = "0" & tarih(1)
            deger = tarih(0) & "." & tarih(1) & "." & tarih(2)
         
            If Not deger Like "##.##.####" Then
                isTarih = False
'                MsgBox metinTextbox.Name & " Tarih bilgisi ""gg.aa.yyyy"" þeklinde girilmelidir.", vbCritical, "HATA"
                .SetFocus
                GoTo var
            Else
         
                trh = DateSerial(tarih(2), tarih(1), 1)
                eom = Day(CLng(DateSerial(Year(trh), Month(trh) + 1, 1) - 1))
                If Val(tarih(0)) > eom Then
                    GoTo son
                    .SetFocus
                End If
                If tarih(1) > 12 Then
                  GoTo son
                  .SetFocus
            End If
        End If
        isTarih = True
'        MsgBox metinTextbox.Name & " Tarih Format Dogru...", vbInformation, "Bilgi"
       
var:
    eom = Empty
    trh = Empty
    deger = Empty
    Erase tarih
    Exit Function

son:
  isTarih = False
    eom = Empty
    trh = Empty
    deger = Empty
    Erase tarih
    .SetFocus
'    MsgBox metinTextbox.Name & " Hatali Tarih...", vbCritical, "Hata"
    Cancel = True
enson:
  isTarih = False
    End With

End Function
.rar tarih format zorunluluk Access.rar (Dosya Boyutu: 70,26 KB | İndirme Sayısı: 1)
Cevapla
#51
ellerine sağlık çok güzel çalışıyor
Cevapla
#52
Rica ederim abey kolay gelsin.
Cevapla
#53
(12/03/2020, 12:59)feraz yazdı: Özür kabul edildi üstad Img-grinBiraz acele oldu zamanım kalmadı bir deneyin diyeceğim ama mualla.
Kullanım
Private Sub Komut2_Click()
    If isTarih(Metin0) = False Then
        MsgBox "Hatali"
    Else
        MsgBox "Dogru"
    End If
 
End Sub


Kod;
Private Function isTarih(metinTextbox As TextBox) As Boolean
   
    With metinTextbox
   
    isTarih = False
   
        If .Value = "" Or IsNull(.Value) Then GoTo enson
            Dim tarih As Variant, trh As Date, eom As Long, deger As String

            .Value = Replace(.Value, " ", ".")
            .Value = Replace(.Value, "/", ".")
            tarih = Split(.Value, ".")
         
            If Len(tarih(0)) = 1 Then tarih(0) = "0" & tarih(0)
            If Len(tarih(1)) = 1 Then tarih(1) = "0" & tarih(1)
            deger = tarih(0) & "." & tarih(1) & "." & tarih(2)
         
            If Not deger Like "##.##.####" Then
                isTarih = False
'                MsgBox metinTextbox.Name & " Tarih bilgisi ""gg.aa.yyyy"" þeklinde girilmelidir.", vbCritical, "HATA"
                .SetFocus
                GoTo var
            Else
         
                trh = DateSerial(tarih(2), tarih(1), 1)
                eom = Day(CLng(DateSerial(Year(trh), Month(trh) + 1, 1) - 1))
                If Val(tarih(0)) > eom Then
                    GoTo son
                    .SetFocus
                End If
                If tarih(1) > 12 Then
                  GoTo son
                  .SetFocus
            End If
        End If
        isTarih = True
'        MsgBox metinTextbox.Name & " Tarih Format Dogru...", vbInformation, "Bilgi"
       
var:
    eom = Empty
    trh = Empty
    deger = Empty
    Erase tarih
    Exit Function

son:
  isTarih = False
    eom = Empty
    trh = Empty
    deger = Empty
    Erase tarih
    .SetFocus
'    MsgBox metinTextbox.Name & " Hatali Tarih...", vbCritical, "Hata"
    Cancel = True
enson:
  isTarih = False
    End With

End Function


eom = Day(CLng(DateSerial(Year(trh), Month(trh) + 1, 1) - 1))

Yukarıdakinin yerine alttaki gibide oluyormuş denemedim lakin internette gezinirken gördüm.
Bu ilgili ayın son gününü buluyor 


eom = Day(CLng(DateSerial(Year(trh), Month(trh) + 1, 0) ))
Cevapla

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

Yorum yapmak için üye olmanız gerekiyor

ya da