Private Sub AdresSplitsen()
'postcode en plaats uit elkaar trekken
' variabele doel
Dim strGesplitst() As String 'snelle scheiding op spaties
'Algemeen nodige variablen vullen
Set db = CurrentDB
strTable = "[NaamVanTabel]"
strField = "[NaamVanOrigineelVeld]"
'toevoegen van de velden voor gesplitste gegevens
strSQL = "ALTER TABLE " & strTable & " ADD COLUMN Nw_Postcode TEXT(50), Nw_HuisNr TEXT(5), Nw_HuisNr_Toev TEXT(5)"
db.Execute (strSQL)
db.TableDefs(strTable).Fields("Nw_Postcode").AllowZeroLength = True
db.TableDefs(strTable).Fields("Nw_HuisNr").AllowZeroLength = True
db.TableDefs(strTable).Fields("Nw_HuisNr_Toev").AllowZeroLength = True
'de tabel openen als recordset zodat 1 voor 1 door de records gegaan kan worden
Set rs = db.OpenRecordset("SELECT * FROM " & strTable & " ORDER BY " & strField & " DESC;")
rs.MoveFirst
Do While Not rs.EOF
If Not IsNull(rs.Fields(strField).Value) Then
If rs.Fields(strField).Value <> "" Then
rs.Edit
rs.Fields(strField).Value = Replace(rs.Fields(strField).Value, "'", "apostrof")
rs.Update
'ff alle variabelen legen
strPCcijfers = ""
strPCletters = ""
strPlaats = ""
'en de originele string ophalen
strOrigineel = Trim(rs.Fields(strField).Value)
strOudeWaarde = rs.Fields(strField).Value
If IsNumeric(Left(strOrigineel, 4)) Then
strPCcijfers = Left(strOrigineel, 4)
strOrigineel = Mid(strOrigineel, 5, Len(strOrigineel))
strOrigineel = Trim(strOrigineel)
strPCletters = Left(strOrigineel, 2)
strOrigineel = Mid(strOrigineel, 3, Len(strOrigineel))
strOrigineel = Trim(strOrigineel)
strPlaats = strOrigineel
strSQL = "UPDATE " & strTable & " SET Nw_Postcode = '" & strPCcijfers & " " & strPCletters & "' ,Nw_HuisNr='" & strPlaats _
& "' WHERE " & strField & "='" & strOudeWaarde & "'"
db.Execute (strSQL)
End If
If Not IsNull(rs.Fields("Nw_HuisNr").Value) Then
rs.Edit
rs.Fields(strField).Value = Replace(rs.Fields(strField).Value, "apostrof", "'")
rs.Fields("Nw_HuisNr").Value = Replace(rs.Fields("Nw_HuisNr").Value, "apostrof", "'")
rs.Update
End If
End If
End If
rs.MoveNext
Loop
rs.Close
Set rs = Nothing
db.Close
Set db = Nothing
MsgBox ("postcode en plaats gesplitst")
End Sub