Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Zeichenbegrenzung in Access 2010

Begonnen von bateman10, Oktober 07, 2011, 18:53:04

⏪ vorheriges - nächstes ⏩

bateman10

Hallo liebe Access-Experten,

ich habe eine Aufgabe bekommen, wo ich denke, dass ihr mir einen wertvollen Tipp geben könnt.
Und zwar habe ich eine Access-Datei, die mit Access 2010 erstellt wurde.

Dort gibt es ein Feld, dass 160 Zeichen erlaubt. Ich kann dort also irgendeinen Text hinschreiben. Da ich das 500 Mal machen muss (also 500 verschiedene Texte schreiben ist mühsam), suche ich an einer Lösung, die das Ganze beschleunigt.

Meine Idealvorstellung ist folgende:

Es sind weiterhin 160 Zeichen erlaubt, aber wenn ich den Text hineinkopiere, erscheint dort nicht "Der Text ist zu lang um bearbeitet werden zu können", sondern der Text wird von dem Formularfeld nach 160 Zeichen automatisch gekürzt. Wie geht sowas?

Schöne Grüße,
Andreas

MzKlMu

Hallo,
soll das eine einmalige Aktion sein?
Wie lange ist der Text maximal?
Und was hat das mit kopieren zu tun?
Die Texte musst Du doch trotzdem schreiben, oder wiederholen sich diese?

Bitte erkläre das mal genauer.
Gruß Klaus

bateman10

Also ich schreibe einen Text der max 160 Zeichen haben soll. Die Vorlage für den Text entnehme ich einer Website. Es gibt auf dieser WEbsite 500 verschiedene Unter-Seiten, wovon ich für jeder dieser 500 Unterseiten eine Zusammenfassung schreibe, die nicht länger als 160 Zeichen haben darf.
Demzufolge gibt es schon Inhalt. Der ist aber viel zu lang und ich muss ihn auf das Wichtigste kürzen. Das Formular, was ich gerade habe, lässt nur 160 Zeichen zu. Es wäre auch nicht schlimm, wenn der Text nur 157 Zeichen hätte. Aber es soll eben so nah wie möglich an die 160 rangehen. Da ich beim Kopieren oft zu lange Zeichenketten kopiere, weil sich der Text gut anhört, gibt mir Access verständlicherweise eine Fehlermeldung zurück.

Deshalb suche ich eine Lösung, die mir 160 Zeichen erlaubt und meinen kopierten Text nach den 160 Zeichen automatisch abbricht. Also eine Prüfung die in etwa so funktioniert:

Text-Check: Wenn <160 Zeichen, dann Text OK. Wenn > 160 Zeichen, dann Text bei Zeichen 160 abschneiden.




MzKlMu

Hallo,
versuche mal das:
Private Sub Textfeld_Change()
    If Len(Me!Textfeld.Text) > 160 Then
        Me!Textfeld = Left(Me!Textfeld.Text, 160)
        Me!Textfeld.SelStart = 1
    End If
End Sub

Im Ereiegnis "Bei Änderung" des Textfeldes.
Feldnamen anpassen.
Gruß Klaus

bateman10

Super und danke für diese Antwort.
Aber wo kommt dieser Code hin?
Ich in in die Layoutansicht gewechselt.
Dort habe ich dann mit der rechten Maustaste Formulareigenschaften aktiviert und kommt dann auf ein Menü. 
Da gibt es den Bereich Bei Datenänderungen.
Wenn ich das anklicke, werde ich danach nach verschiedenen Optionen gefragt.
Kannst Du mir da noch mal bitte helfen?

MzKlMu

Hallo,
ZitatAber wo kommt dieser Code hin?
Das habe ich Dir doch auch geschrieben:
ZitatIm Ereignis "Bei Änderung" des Textfeldes.
Das findest Du in den Ereigniseigenschaften des Feldes.
Gehe in die Zeile mit dem Ereignis, wähle [Ereignisprozedur] klicke auf die 3 Punkte.
Kopiere den Code rein und passe die Feldnamen an.
Gruß Klaus