PDA

Vollständige Version anzeigen : & vbCrLf aus Memo entfernen


--=Franky=--
17.10.2011, 11:10
Hallo miteinander,

ich füge an einer Stelle Text in ein Memofeld:
Me!auswanfr = "Datenträger befindet sich unter Verschluss" & " !! " & vbCrLf & Me!auswanfr

In einer bestimmten Abhängigkeit entferne ich diesen Text später wieder:

Me.auswanfr = Replace(Me!auswanfr, "Datenträger befindet sich unter Verschluss", "")

Der Text wird auch entfernt, nur das cbCrLf bekomme ich nicht raus.
Meine Versuche mit Chr(10 und oder 13) haben nichts gebracht, hat jemand einen Plan?

maikek
17.10.2011, 11:41
Wenn du die beiden in dieser Reihenfolge und mit & verkettet angibst, sollte es funktionieren: Chr(13) & Chr(10).
maike

Maxel
17.10.2011, 11:45
Hallo Franky,

wie sehen denn Deine Bemühungen aus?

Wenn ich in einer Abfrage zwei Zeichenketten mit Chr(13) & chr(10) verbinde, erhalte ich einen Zeilenumbruch, den ich in der gleichen Abfrage in einer neuen Spalte mittels
Replace(MeinAusdruck; chr(13) & chr(10); "")
wieder löschen kann.

ebs17
17.10.2011, 11:52
Me!auswanfr = "Datenträger befindet sich unter Verschluss" & " !! " & vbCrLf & Me!auswanfr
Das, was Du anfügst, solltest Du auch entfernen können. Du musst nur auf Vollständigkeit achten.

--=Franky=--
17.10.2011, 12:25
[CODE]Du musst nur auf Vollständigkeit achten.
Ich verstehe zwar den Satz, aber den Zusammenhang nicht.
Außer, dass ich bestimmt etwas übersehen habe (das passiert mir öfter ;) )
Ich habe das jetzt wie folgt gelöst, auch wenn es bestimmt noch kürzer geht...

Me.auswanfr = Replace(Me!auswanfr, "Datenträger befindet sich unter Verschluss", "")
Me.auswanfr = Replace(Me!auswanfr, Chr(13) & Chr(10), "", 1, 1)
Me.auswanfr = Replace(Me!auswanfr, Chr(32), "", 1, 1)

und dabei noch ein Leerzeichen eliminiert...
Danke für eure Ratschläge :)
Meine bisherigen Versuche waren, das in eine Zeile zu bekommen, aber da waren mir zu viele Kommata und & drin.

ebs17
17.10.2011, 12:40
das in eine Zeile zu bekommen
Me.auswanfr = Replace(Me!auswanfr, _
"Datenträger befindet sich unter Verschluss" & " !! " & vbCrLf, "")

Als Variante: Der verwendete Ausdruck ist konstant und hat daher eine feste Länge. Diese feste Länge kann man abschneiden:
x = Len("Datenträger befindet sich unter Verschluss" & " !! " & vbCrLf)
Me.auswanfr = Mid$(Me.auswanfr, x + 1)

--=Franky=--
17.10.2011, 13:54
Als Variante: Der verwendete Ausdruck ist konstant und hat daher eine feste Länge. Diese feste Länge kann man abschneiden:
[CODE]x = Len("Datenträger befindet sich unter Verschluss" & " !! " & vbCrLf)
Me.auswanfr = Mid$(Me.auswanfr, x + 1)

Bei zweimaligem Ausführen, entfernt deine Routine mir allen Text aus meinem Memofeld, das ist mir zu viel Reinlichkeit ;)

ebs17
17.10.2011, 14:30
Bei zweimaligem Ausführen, entfernt deine Routine mir allen Text aus meinem Memofeld
Gegen zuckende Zeigefinger kann man auch etwas tun, z.B. vorher prüfen, ob das da ist, was entfernt werden soll.
Me.auswanfr = Replace(Me!auswanfr, Chr(32), "", 1, 1)
Hier hast Du bei mehrfachem Ausführen auch einen ungewünschten Effekt.

Wie ist die erste Anweisung?

--=Franky=--
17.10.2011, 14:35
Ich weiß, wollte es ja nur angemerkt haben und war auch keine Kritik.
Mit entfernten Returns kann ich aber besser leben, als wenn der kompl. Inhalt entschwindet.
Trotzdem danke für Deine Anregungen, für heute ist aber zum Glück erst Mal Feierabend, werde mir das aber noch verinnerlichen.