'MacroName:Split041 'MacroDescription:Split concatenated 041 codes into individual subfields 'Macro written by: Joel Hahn, Niles Public Library District 'Last modified: 20 April 2005 Sub Main Dim CS As Object On Error Resume Next Set CS = GetObject(,"Connex.Client") On Error GoTo 0 If CS Is Nothing Then Set CS = CreateObject("Connex.Client") End If bool = CS.GetField("041", 1, Field041$) TagInds$ = Left(Field041$, 5) Field041$ = Mid(Field041$, 6) If Left(Field041$, 1) <> Chr(223) Then Field041$ = Chr(223) & "a " & Field041$ i = 2 Do GetF041$ = GetField(Field041$, i, Chr(223)) If GetF041$ <> "" Then Subf$ = Left(GetF041$, 1) SubRest$ = Trim(Mid(GetF041$, 2)) Do While Len(SubRest$) >= 3 NewField$ = NewField$ & " " & Chr(223) & Subf$ & " " & Left(SubRest$, 3) SubRest$ = Mid(SubRest$, 4) Loop If Len(SubRest$) > 0 Then NewField$ = NewField$ & " " & Chr(223) & Subf$ & " " & SubRest$ End If End If i = i + 1 Loop While GetF041$ <> "" If NewField$ <> "" Then NewField$ = Trim(NewField$) bool = CS.SetField(1, TagInds$ & NewField$) End If End Sub