Soru İzne Ayrılış Günü hata veriyor

Katılım
1 Ekim 2017
Mesajlar
690
Excel Vers. ve Dili
2019 türkçe
Altın Üyelik Bitiş Tarihi
06/10/2023
Hayırlı günler sayın hocalarım. Altta yazılan kodlarda
1.Kod İzne ayrıldığındaki tarihin kodu
2.Kod İzin bitiş kodu
Örnek olarak
23.11.2022 tarih izne başlama
21.12.2022 izin bitiş tarihi yazdığımda Bitiş ayrılıştan önce olamaz uyarısı veriyor. Yardımlarınızı bekliyorım

Private Sub TextBox10_Change()
If TextBox10 = Empty Or TextBox11 = Empty Then Exit Sub
If TextBox10 > TextBox11 Then MsgBox "Ayrılış Bitişten sonra olamaz.", vbInformation, "UYARI": TextBox10 = Empty
End Sub

Private Sub TextBox11_Change()
If TextBox10 = Empty Or TextBox11 = Empty Then Exit Sub
If TextBox10 > TextBox11 Then MsgBox "Bitiş Ayrılıştan önce olamaz.", vbInformation, "UYARI": TextBox11 = Empty
End Sub
 

Cengiz Demir

Altın Üye
Katılım
29 Haziran 2018
Mesajlar
604
Excel Vers. ve Dili
Office 365 TR (32 Bit)
Altın Üyelik Bitiş Tarihi
05-04-2025
TextBox10 daki kodlar fazlalık gibi geldi bana. Olmasa da olur. Tabi önce bitiş daha sonra başlangıç yazma ihtimaliniz yoksa.

Kodlama mantığında sorun yok gözüküyor. İlk veri ikinci veriden büyükse uyarı verecek şekilde yazılmış..
Hata almanızın nedeni de başlangıç ve bitiş tarihlerini yazdığınız texboxlardaki tarihlerin bir yada ikisinin tarih formatında olmaması olabilir.

Örnek dosyanızı eklemeden sorunun ne olduğu anlaşılmaz sanırım.
 
Son düzenleme:
Katılım
1 Ekim 2017
Mesajlar
690
Excel Vers. ve Dili
2019 türkçe
Altın Üyelik Bitiş Tarihi
06/10/2023
TextBox10 daki kodlar fazlalık gibi geldi bana. Olmasa da olur. Tabi önce bitiş daha sonra başlangıç yazma ihtimaliniz yoksa.

Kodlama mantığında sorun yok gözüküyor. İlk veri ikinci veriden küçükse uyarı verecek şekilde yazılmış..
Hata almanızın nedeni de başlangıç ve bitiş tarihlerini yazdığınız texboxlardaki tarihlerin bir yada ikisinin tarih formatında olmaması olabilir.

Örnek dosyanızı eklemeden sorunun ne olduğu anlaşılmaz sanırım.
Hocam dosyayı ekliyorum
 

Ekli dosyalar

  • 81.7 KB Görüntüleme: 6

Cengiz Demir

Altın Üye
Katılım
29 Haziran 2018
Mesajlar
604
Excel Vers. ve Dili
Office 365 TR (32 Bit)
Altın Üyelik Bitiş Tarihi
05-04-2025
Formunuzdaki kod; tarih, takvimden seçilecek şekilde yazılmış.
Kodlara bakınca texboxda değişiklik yapılınca kontol işlemi yapılacak şekilde, Texbox_Change olayının içine yazılmış olduğunu farkettim.
Takvimden seçilince tek bir işlemle tarih yazıldığı için sorun olmuyor.

Eğer siz elle giriş yapıyorsanız hata vermesi normal.
Çünkü siz ilk tarih rakamını yazdığınızda kontrol kodları tetikleniyor ve karşılaştırma yapıyor. Tabi koşullara uymadığı için de hata veriyor.

Elle tarih girecekseniz. Karşılaştırma kodlarını kaydet düğmesinin kodlarının içerisine eklemelisiniz.
 
Katılım
1 Ekim 2017
Mesajlar
690
Excel Vers. ve Dili
2019 türkçe
Altın Üyelik Bitiş Tarihi
06/10/2023
Formunuzdaki kod; tarih, takvimden seçilecek şekilde yazılmış.
Kodlara bakınca texboxda değişiklik yapılınca kontol işlemi yapılacak şekilde, Texbox_Change olayının içine yazılmış olduğunu farkettim.
Takvimden seçilince tek bir işlemle tarih yazıldığı için sorun olmuyor.

Eğer siz elle giriş yapıyorsanız hata vermesi normal.
Çünkü siz ilk tarih rakamını yazdığınızda kontrol kodları tetikleniyor ve karşılaştırma yapıyor. Tabi koşullara uymadığı için de hata veriyor.

Elle tarih girecekseniz. Karşılaştırma kodlarını kaydet düğmesinin kodlarının içerisine eklemelisiniz.
Hocam merhaba. Karşılaştırma kodlarını kaydet düğmesinin kodlarının içerisine nasıl eklenecek.
 

Cengiz Demir

Altın Üye
Katılım
29 Haziran 2018
Mesajlar
604
Excel Vers. ve Dili
Office 365 TR (32 Bit)
Altın Üyelik Bitiş Tarihi
05-04-2025
CommmandButton3 koduna aşağıda belirttiğim yere ekleyebilirsiniz. (If Texbox10 .... diye başlayan satır.)

Yalnız sizin kaydet butonunuzda ilk kontrol koşulu gerçekleşmediği için orda uyarı veriyor.
Formdaki ekli olan(olması gereken) 11 tane Texbox içeriğini kontrol ediyor. Biri bile boş değer döndürürse uyarı veriyor.
Ama sizin formunuzda 2 tane Texbox var. (Texbox10 ve 11)
Yeni texboxlar ekleyecekseniz onların isimlerini 1 den başlayıp 9 a kadar tanımlayın.
Artı kodda Combobox3'deki veriye göre bazı kontrol ve işlemler yapıyor. Sizdeki Combobox2 vb.

Yanlış anlamadıysam kodlama konusunda çok yenisiniz ve başka hazır bir çalışmayı kendinize uyarlamak istiyorsunuz.

Bu şekilde her hatayı sorarak ilerlemeniz çok zor olur. Sizin isteğinize göre tüm kodların yenilenmesi gerekebilir.

Bunun içinde vakit ayırabilecek bir üstad varmıdır bilemem. :)

C++:
Private Sub CommandButton3_Click()
   On Error Resume Next
    For i = 1 To 11
        If Controls("TextBox" & i) = Empty Then MsgBox "Tüm alanları doldurunuz.", vbInformation, "UYARI":  Exit Sub
    Next i
    
    If TextBox10 > TextBox11 Then MsgBox "Bitiş Ayrılıştan önce olamaz.", vbInformation, "UYARI": TextBox11 = Empty

Hocam merhaba. Karşılaştırma kodlarını kaydet düğmesinin kodlarının içerisine nasıl eklenecek.
 
Üst