Neuigkeiten:

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

Mobiles Hauptmenü

Zeilenumbruch in eine neue Spalte

Begonnen von Torsten., Januar 16, 2011, 12:27:27

⏪ vorheriges - nächstes ⏩

Torsten.

Hallo
die Aufteilung in Spalten bezügl. eines ; habe ich bereits gelernt     ;)

Nun ist die Situation wie folgt:
Es gibt Datensätze die haben einen Zeilenumbruch

siehe Gutachten; ohne Niv; ohne elektr.
VA: Tief; Achse bis: 420
HA: Tiefer; Achse nach: vorn

Kann man diesen Zeilenumbruch in ein ; ändern,
um auch hier die Info des Datensatzes in eine
eigene Spalte zu bekommen?

Gruß TVH

oma

Hallo,

man kann den Zeilenumbruch in Zeichen ";" mit kleiner Funktion umwandeln:

Public Function Austausch(strText) As String
'Austauch Zeilenumbruch ASCII Code13  mit ";"
'--------------------------------------------------------------------------
    Dim i As Integer, k As Integer
    If IsNull(strText) Then Exit Function

    For i = 1 To Len(strText)
        Select Case Asc(Mid(strText, i, 1))
        Case 13
            Austausch = Austausch & ";"
            k = 1
        End Select
        If k <> 1 Then Austausch = Austausch & Mid(strText, i, 1)
        k = 0
    Next i
End Function


Damit z.B. in einer Abfrage:

TextNeu: Austausch([TextFeld])

TextNeu kann dann wieder mit Left- bzw. Mid-Funktion in Spalten  aufgeteilt werden.

Gruß Oma
nichts ist fertig!

Torsten.

Hallo Oma,
vielen Dank.
Funktion habe ich als Modul gespeichert.
Nur das mit der Abfrage ist mir nicht verständlich wie ich
es umsetzen soll.

Wohin mit:
TextNeu: Austausch([TextFeld])

???

database

#3
Hallo,

wobei sich für mich noch die Frage stellt, wie die Zeilenumbrüche ins Textfeld der DB gelangt sind und welche DB betroffen ist.

Ist das eine mySQL Tabelle und wurden die Umbrüche per ESCAPE Sequenz (\n) erzeugt, wird mit  ASCII 13 wahrscheinlich nichts gehen - oder doch?


ZitatWohin mit:
TextNeu: Austausch([TextFeld])
Na ja - in eine neue Spalte einer Abfrage !  ;)

Torsten.

Es ist eine Tabelle einer Access DB die wir vom Hersteller erhalten haben.
Wie die das mit den Umbruch gemacht haben weiß ich nicht.
Ich vermute, dass die DB aus SAP heraus erstellt wurde.

Hilft wahrscheinlich nicht diese Info, oder?

oma

Hallo,

du erstellt eine Abfrage mit der Tabelle in der das Textfeld enthalten ist;
dann erstellt du ein neues Feld mit TextNeu: Austausch([TextFeld]);  einfach genau so schreiben!

Hierbei bedeutet TextNeu der neue Feldname u. mit Austausch([TextFeld]) wird die Funktion Austausch aufgerufen, wober der String Textfeld übergeben wird; TextFeld soll dein Feld mit den Zeilenumbruch sein!

Gruß  Oma

nichts ist fertig!

database

Aha,

ZitatEs ist eine Tabelle einer Access DB die wir vom Hersteller erhalten haben
...dann wirds ASCII 13 sein - stark vermutet.

Ich kann's mir nicht verwinden - Sinnfrage kann ich für MICH nicht eindeutig beantworten  :-\

Torsten.

Hallo Ihr beiden,
das hat geklappt - klasse    :)

Vielen Dank
Gruß TVH