[VBA] ado ile tabloya kayıtta alan boyutu hatası
#1
selam

ado ile tablolara kayıt yapılırken
örneğin adı isminde kolona 20 karakterlik değer vermiştim
kullanıcı bunu 30 karakter olarak girdiğinde hata almaktayım

kayıttan önce ilgili metin kutusuna karakter sınırlaması getirebilirim fakat 40 civarı form var bir çok metin kutusu var buda bir yığın kod demek bunu çözmenin yolu var mı
tabloya kaydetmeden önce alan özelliklerini vs almak gibi

yada başka alternatifler

saygılarımla



  Alıntı
Bu mesajı beğenenler:
#2
selam
alta ki kodlarla bir yere varmış gibiyim ama metin kutusundan çıkmasın istedim yapamadım
bir sorunda case yapısı metin kutuları çoğaldıkça case se uzamak zorunda
kısala bilir mi

yardımcı olursanız sevinirim

Visual Basic
  1. 'form başlangıç
  2. Private TxtKutuCollection As Collection
  3. Private Olaylar As clskod
  4.  
  5. 'form yüklendiğinde
  6. Set TxtKutuCollection = New Collection
  7. Dim Ctrl As Control
  8. For Each Ctrl In Me.Controls
  9. Set Olaylar = New clskod
  10. Select Case Ctrl.ControlType
  11. Case acTextBox
  12. Set Olaylar.Textbox = Ctrl
  13. End Select
  14. TxtKutuCollection.Add Olaylar
  15. Next



Visual Basic
  1. 'Class Modüle
  2. Option Compare Database
  3. Option Explicit
  4. Private WithEvents TxtKutu As Textbox
  5. Dim textname As String
  6. Dim sayi As Integer
  7. Public Property Set Textbox(ByVal objTextBox As Textbox)
  8. Set TxtKutu = objTextBox
  9. TxtKutu.OnEnter = "[Event Procedure]"
  10. TxtKutu.OnExit = "[Event Procedure]"
  11. End Property
  12. Private Sub TxtKutu_Enter()
  13. TxtKutu.BackColor = 4259584
  14. TxtKutu.FontBold = True
  15. textname = TxtKutu.Name
  16. End Sub
  17. Private Sub TxtKutu_Exit(Cancel As Integer)
  18. TxtKutu.BackColor = 16777215
  19. TxtKutu.FontBold = 0
  20. If IsNull(TxtKutu) Then: Exit Sub
  21. If IsNull(textname) Then: Exit Sub
  22. Select Case TxtKutu.Name
  23. Case "AdiSoyadi"
  24. sayi = Len(TxtKutu)
  25. If sayi > 20 Then
  26. MsgBox textname & " Alanına " & sayi & " karakter girdiniz 20 karakter girebilirsiniz": textname = Empty: sayi = 0: TxtKutu.SetFocus
  27. Cancel = True
  28. Else
  29. Cancel = False
  30. End If
  31. Case "TcNo"
  32. sayi = Len(TxtKutu)
  33. If sayi > 11 Then
  34. MsgBox textname & " Alanına " & sayi & " karakter girdiniz 11 karakter girebilirsiniz": textname = Empty: sayi = 0: TxtKutu.SetFocus
  35. Cancel = True
  36. Else
  37. Cancel = False
  38. End If
  39. End Select
  40. End Sub



Not kodlar sayın
'barkant öztürk
'27-11-2010 23:39
'http://www.access-sql.com/Konu-Access-Class-Module-ve-Olaylar
alıntıdır

örnek ektedir


Eklenti Dosyaları
.rar   alanboyutu.rar (Boyut: 16,21 KB / İndirilme: 65)



  Alıntı
Bu mesajı beğenenler:


Benzer Konular...
Konu: Yazar Cevaplar: Gösterim: Son Mesaj
  Son Endeks In Ikinci Yeni Kayıtta Ilk Endeks Olarak Gelmesi özgülapt 4 405 22-03-2025, 23:43
Son Mesaj: özgülapt
  Sorgu Içerisinde Boş Alan Varsa 0 (sıfır) Ile Doldurmak denizfatihi 3 515 15-08-2024, 14:38
Son Mesaj: beab05
  [SORGU] çarpraz Sorguda Sütun Değeri Olarak Birden çok Alan Seçebilir Miyiz? abkbek 2 410 13-08-2024, 21:18
Son Mesaj: abkbek
  [TABLO] Tabloya Veri Eklerken Kayıt Hatası anno 3 520 11-06-2024, 15:29
Son Mesaj: dsezgin
  [VBA] Bir Tabloda Alan Türü Uzun Metin Olan Iki Ayrı Alanı Karşılaştırmak abkbek 13 1.187 10-11-2023, 22:26
Son Mesaj: abkbek
  [SORGU] Farklı Tablolarda Yer Alan Satış Bilgilerini Toplama Sorgusu Lidervet 1 481 09-11-2023, 00:54
Son Mesaj: dsezgin
  Sadece Geçerli Kayıtta Kenarlık Rengi Değiştirme Hk. adnnfrm 25 1.599 13-09-2023, 00:00
Son Mesaj: halily
  Boş Alan Kontrolü (taruz) : Rapor Butonu prtkl 5 676 31-05-2023, 22:48
Son Mesaj: hnakis

Foruma Git:


Bu konuyu görüntüleyen kullanıcı(lar): 1 Ziyaretçi