Skip to main content

AccessTr.neT


Textbox Biçim Ayarları

tarkanaykın
tarkanaykın
6
447

Textbox Biçim Ayarları

Çözüldü #1
Merhabalar. Arkadaşlar bayağı bir araştırma yaptım ama excel'de textbox biçim ayarı yok sanırım, access'e alıştım onda kolay ama excel'de bu işi nasıl yaparız bir türlü bulamadım, referencess te gerekli kütüphaneler yok , nereden bulacağımı bilemiyorum, forumlarda kütüphane ekleme olayları var, inceliyorum ama benim 64 bit onlar 32 bit üzerine vesair... şimdilik tek sorunum textbox'a normal sayıları gireceğim ama çıkarken noktalı tarih biçimini alsın istiyorum, dediğim gibi bunula ilgili kodlar var ama işlemiyor, bu konuda yardımcı olursanız çok sevinirim, teşekkürler, dosyayı yükledim.
.rar avansOtomasyon.rar (Dosya Boyutu: 42,89 KB | İndirme Sayısı: 1)
Cevapla
#2
(15/06/2022, 16:10)tarkanaykın yazdı: extbox'a normal sayıları gireceğim ama çıkarken noktalı tarih biçimini alsın istiyorum
biraz daha açıklar mısınız?
Cevapla
#3
Yani tarihi slash veya nokta kullanmadan girmek istiyorum, textbox'tan çıkarken kendisi aralara nokta koysun, hızlılık adına. Onu halledersem şimdilik tamam.
Son Düzenleme: 15/06/2022, 20:56, Düzenleyen: tarkanaykın.
Cevapla
#4
Bu durumda hata yapma ihtimaliniz olmaz mı?
8 haneliyse 2 2 4 ayırmada sorun yok Ama bu durumda bile önce ay hanesinin 12den büyük olup olmadığı
Sonra da eğer 2. ay ise gün hanesinin yila gore 28-29 kontrolu yapilmasi gerek
son olarak da gün kontrolü yapılmalı
7 haneli ise son 4 basamak yıl olarak alınıp geriye kalanlar yine ay ve gün uyumuna gore kontrol edilmeli...
Yani teferruatlı bir kontrol gerekli
Tabi sadece 8 hane girince tarıh mi diye kontrol edilip uygun olmadığında yada 8den küçükse uyarı verip alanı boşaltma da bilir
Cevapla
#5
Sayın @tarkanaykın

Değerli Hocalarım @berduş ve @atoykan ın yönlendirmeleri ile Microsoft Access ve Excel eğitimlerime devam ediyorum. Onlar kadar bilgili olmasamda daha önce sorunuza benzer bir araştırma yapmıştım. Excel formlarında giriş maskesi kullanılabilir mi, nasıl uygulanır araştırırken aşağıdaki örnek kodu buldum ve kullandım. Sizin de işinize yaramasını dilerim. 

Kod:
Dim NewString, MyString, mask As String
Dim position, pos As Variant



Private Sub TextBox1_Change()
If IsNumeric(Right(TextBox1.Text, 2)) And Len(TextBox1.Text) >= 11 Then
    TextBox1.Text = Left(TextBox1.Text, Len(TextBox1.Text) - 1)
Else
    position = TextBox1.SelStart
    MyString = TextBox1.Text
    pos = InStr(1, MyString, "_")
If pos > 0 Then
    NewString = Left(MyString, pos - 1)
Else
    NewString = MyString
End If
If Len(NewString) < 11 Then
    TextBox1.Text = NewString & Right(mask, Len(mask) - Len(NewString))
    TextBox1.SelStart = Len(NewString)
End If
End If
If Len(TextBox1.Text) >= 11 Then
    TextBox1.Text = Left(TextBox1.Text, 10)
End If


End Sub

Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim strDate As String
strDate = Me.TextBox1
If IsDate(strDate) Then
    strDate = Format(CDate(strDate), "DD/MM/YYYY")
    MsgBox strDate
  Else
    MsgBox "Wrong date format"
  End If
End Sub

Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
position = TextBox1.SelStart
If KeyCode = 8 Then
    TextBox1.Text = mask
End If
End Sub
Private Sub UserForm_Initialize()
TextBox1.SelStart = 0
mask = "__/__/____"
TextBox1.Text = mask
End Sub

İyi çalışmalar diler, saygılar sunarım.

Murtaza AF
Son Düzenleme: 16/06/2022, 13:00, Düzenleyen: MURTAZAAF. (Sebep: imla hatalarını düzeltmek)
Cevapla
#6
aşağıdaki kodu sayın @Oğuz Türkyılmaz konusundaki dosyasında kullanmıştı, ihtiyacınızı karşılayabilir
TarihKutusu.MaxLength = 10

Select Case TarihKutusu.SelStart
    Case Is = 2, 5
    TarihKutusu.SelText = "."
End Select

If Len(TarihKutusu) = 10 And Not IsDate(TarihKutusu) Then
   
    TarihKutusu = ""
    MsgBox "Hatalı tarih girdiniz, lütfen kontrol ediniz.", Title:="KT GRUP Poliçe Takip"
    Exit Sub
   
End If
Cevapla

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

Yorum yapmak için üye olmanız gerekiyor

ya da