Function cutter() 'Author: Heiko Hommes 'Create: 'Funktion: schneidet ein Feld ab einem belibigen Trenner ab ' oder trenn ein Feld durch einen beliebigen Trenner 'Deklar. Variablen Dim rs As Recordset Dim i As Integer Dim feld(500) As String Dim pt As Integer Dim zeich As String Dim länge_feld As Integer Dim tabelle As String Dim var1 As String Dim var2 As String Dim rep1 As String Dim rep2 As String Dim left_string As String Dim right_string As String Dim kz As Boolean Dim lfeld As String Dim rfeld As String Dim org_feld As String Dim kz_art As String 'Deklar. Datenbank Dim db As Database Set db = DBEngine(0)(0) 'MsgBox ("Zwei hintereinander folgende Zeichen werden durch zwei beliebige ersetzt!!!"), 64 msgbox ("Ein String wird durch den angegeben Trenner getrennt!!"), 64 tabelle = InputBox$("Bitte Tabellenname eingeben, dabei auf groß/klein-Schreibung achten: ") kz_art = InputBox("Möchten Sie Zeichen abschneiden A oder das Feld Trennen T ?") org_feld = InputBox("Bitte Input Feld angeben") If UCase(kz_art) = "T" Then lfeld = InputBox("Bitte linkes Feld angeben") var1 = InputBox$("Bitte das Trenn-Zeichen eingeben: ") rfeld = InputBox("Bitte rechtes Feld angeben") End If If UCase(kz_art) = "A" Then var1 = InputBox$("Bitte das Zeichen eingeben weches abgeschnitten werden soll: ") rfeld = InputBox("Bitte ZielFeld angeben") End If Set rs = db.OpenRecordset(tabelle) kz = False left_string = "" right_string = "" pt = 1 i = 1 rs.MoveFirst While Not rs.EOF left_string = "" right_string = "" länge_feld = Len(rs.Fields(org_feld)) For pt = 1 To länge_feld Step 1 feld(pt) = "" Next pt länge_feld = Len(rs.Fields(org_feld)) For pt = 1 To länge_feld Step 1 feld(pt) = Mid(rs.Fields(org_feld), pt, 1) Next pt zeich = "" left_string = "" right_string = "" kz = False For pt = 1 To länge_feld Step 1 If pt < länge_feld Then If UCase(kz_art) = "T" Then If feld(pt) = var1 Then 'And feld(pt + 1) = var2 Then left_string = Left(rs.Fields(org_feld), (pt - 1)) right_string = Mid(rs.Fields(org_feld), (pt + 1), (länge_feld - pt)) kz = True Exit For End If End If If UCase(kz_art) = "A" Then If feld(pt) <> var1 Then 'And feld(pt + 1) = var2 Then right_string = Mid(rs.Fields(org_feld), (pt), (länge_feld - pt + 1)) kz = True Exit For End If End If End If 'zeich = zeich + feld(pt) Next pt If kz = True Then rs.Edit If UCase(kz_art) = "T" Then rs.Fields(lfeld).Value = left_string rs.Fields(rfeld).Value = right_string rs.Update End If If UCase(kz_art) = "A" Then rs.Fields(rfeld).Value = right_string rs.Update End If End If rs.MoveNext Wend msgbox ("Habe fertig!!!!!!!!!"), 48 End Function