PDA

Vollständige Version anzeigen : Zeilenumbruch in den Feldern einer Tabelle löschen???


<hanez>
01.01.2002, 19:08
ein frohes neues jahr wünsche ich,

kaum neujahr und schon wieder eine frage... :rolleyes:

kann mir jemand von euch einen vb code geben, mit dem ich alle zeilenumbrüche aus einer spalte der tabelle entfernen kann???

es geht nämlich darum: ich möchte eine exportfunktion in mein programm integrieren, welche csv dateien basierend auf einer abfrage exportieren kann. der befehl ist so einfach, daß ich selber fast nichts machen muss. leider sind in der csv datei allerdings zeilenumbrüche - das darf nicht sein!!!

diese dateien werden nämlich dann nicht richtig auf den sql-servern eingelesen.

vielen dank


hanez <img src="graemlins/kasperl.gif" border="0" alt="[Kaslperl]" /> <img src="graemlins/kasperl.gif" border="0" alt="[Kaslperl]" /> <img src="graemlins/kasperl.gif" border="0" alt="[Kaslperl]" /> <img src="graemlins/kasperl.gif" border="0" alt="[Kaslperl]" /> <img src="graemlins/kasperl.gif" border="0" alt="[Kaslperl]" />

Alexander Jan Peters
01.01.2002, 19:37
<font face="Tahoma">Hallo hanez,

versuch es doch einmal mit dieser Funktion:
</font><font face="Courier New">
Function fFindReplace(strText As String, strFind As String, strReplace As String) As String
Dim intA As Integer
Dim strPuffer As String
Dim strCheck As String * 1

For intA = 1 To Len(strText)
chrTmp = Mid$(strText, intA)
If strCheck <> strFind Then
strPuffer = strPuffer & strCheck
Else
strTmp = strCheck & strReplace
End If
Next intA

fFindReplace = strPuffer

End Function
</font><font face="Tahoma">
Es werden bei Aufruf folgende Parameter benötigt:
strText = der gesamte zu prüfende Text
strFind = Zeichen, das ersetzt werden soll (vbCRLF)
strReplace = Zeichen, das stattdessen eingesetzt werden soll
Zurückgegeben wird der modifizierte Text als String.

Gruß

A.J. Peters</font>

Andorxor
02.01.2002, 10:28
Da das so bei längeren Texten ziemlich langsam werden kann eine schnellere Version die nur so oft durchlaufen wird wie das zu ersetzene Zeichen vorkommt:
Function fFindReplace(strText As String, strFind As String, strReplace As String) As String
Dim strl As String
Dim strr As String

While instr(strtext,strfind)<> 0
strl = left(strtext,instr(strtext,strfind)-1)
strr = mid(strtext,instr(strtext,strfind)+1)
strtext = strl & strreplace & strr
wend

fFindReplace = strtext

End Function

ceki
07.03.2002, 09:22
Gibts so etwas auch für eine Abfrage?
Hab schon alles Mögliche ausprobiert (Left, Teil, etc...), aber der Zeilenumbruch verschwindet nicht.

Gruß
Karl

Alexander Jan Peters
07.03.2002, 18:49
<font face="Tahoma">Hallo Karl,

die beiden Varianten funktionieren auch in Abfragen, solange die Funktion als Public deklariert ist.
Der Aufruf erfolgt innerhalb eines Ausdrucks, z.B.:</font>
<font face="Courier New">
Ausdr1: fFindReplace(tblDaten.[ZuAendern], Chr(13) & Chr(10), " ")</font>
<font face="Tahoma">
Gruß

A.J. Peters</font>