Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: Optiplex am November 08, 2010, 20:39:24

Titel: Texteingabe begrenzen beim ungebundenen Textfeld A2003
Beitrag von: Optiplex am November 08, 2010, 20:39:24
Hallo zusammen,
kann man die Texteingabe bei einem ungebunden Textfeld irgendwie auf eine bestimmte Anzahl Zeichen begrenzen.

Ich hoffe das weis jemand.

Gruß Dieter
Titel: Re: Texteingabe begrenzen beim ungebundenen Textfeld A2003
Beitrag von: MzKlMu am November 08, 2010, 20:47:28
Hallo,
mit ein paar Zeilen Code, kein Problem.
Private Sub TextFeld_Change()
Dim SollLänge As Integer

SollLänge = 5 'anpassen
   If Len(TextFeld.Text) > SollLänge Then
       MsgBox "Zu lang"
       TextFeld.Text = Left(TextFeld.Text, SollLänge)
   End If
End Sub


Beachte das ".Text" bei den Feldnamen, das ist wichtig.
Titel: Re: Texteingabe begrenzen beim ungebundenen Textfeld A2003
Beitrag von: Optiplex am November 08, 2010, 20:55:53
Dank  MzKlMu für die schnelle Antwort,

Muss ich das für jedes ungebundene Textfeld machen? Ich hatte die Hoffnung, dass es dafür vielleicht eine Eigenschaft gibt.

Gruß Dieter
Titel: Re: Texteingabe begrenzen beim ungebundenen Textfeld A2003
Beitrag von: MzKlMu am November 08, 2010, 21:02:36
Hallo,
für ein ungebundenes Feld nicht, bzw. wüste ich keine.
Der Code hat auch den Vorteil, dass Du eine Meldung bekommst und der Text automatisch gekürzt wird.
Titel: Re: Texteingabe begrenzen beim ungebundenen Textfeld A2003
Beitrag von: lumbumba am November 08, 2010, 21:10:50
evtl ginge das auch mit der Gültigkeitsregel Wie '??????' bei der jetzt zb 6 Zeichen angegeben werden müssen
Titel: Re: Texteingabe begrenzen beim ungebundenen Textfeld A2003
Beitrag von: Optiplex am November 09, 2010, 00:13:07
Hallo zusammen,
die Lösung von MzKlMu ist ok, ich hab etliches mittlerweile ausprobiert ( Format, Eingabeformat usw.), aber die Lösung von MzKlMu ist die beste.

Private Sub TextFeld_Change()
Dim maxChar As Integer
  maxChar = 15 'anpassen
  If Len(Me.TextFeld.Text) > maxChar Then
    Beep
    Me.TextFeld.Text = Left(Me.TextFeld.Text, maxChar)
    Me.TextFeld.SelStart = Len(Me.TextFeld.Text)
  End If
End Sub

Ich habe den code noch verfeinert in dem ich den Curser ans Ende der Eingabezeile setze. Vielleicht kann jemand den Code gebrauchen.
Danke an alle und besonderst an MzKlMu.
Gute Nacht und Gruß Dieter