So,
found a process to sort this out,
1) Export all forms to text files
2) Use Notepad++ to find and replace text in all text files
3) Delete all forms
4) Import all forms from text files
Wrote some subs for this if others needs this in future,
One issue is that the delete forms sub needs to be run several times as it runs into an unknown error (Presuming that the deleting of the forms is causing an array problem in the for next loop) however running several times until all forms deleted does work.
Option Compare DatabaseOption Explicit
Sub ExportAllFormsToText()
Dim MyForm As Object
Dim Location As String
Dim FileExtension As String
Location = "D:\Work\SonoSoft\Form Text Export\"
FileExtension = ".txt"
For Each MyForm In CurrentProject.AllForms
Application.SaveAsText acForm, MyForm.Name, Location & MyForm.Name & FileExtension
Next
MsgBox "Complete"
End Sub
Sub DeleteAllForms()
If MsgBox("Are you sure you want to delete all forms?", vbYesNo) = vbNo Then
Exit Sub
End If
Dim MyForm As Object
Dim varReturn As Variant
For Each MyForm In CurrentProject.AllForms
varReturn = SysCmd(acSysCmdSetStatus, MyForm.Name)
DoCmd.DeleteObject acForm, MyForm.Name
DoEvents
Next
MsgBox "Complete"
End Sub
Sub ImportAllFormsFromText()
If MsgBox("Are you sure you wish to import all form text files?", vbYesNo) = vbNo Then
Exit Sub
End If
Dim Location As String
Dim FileExtension As String
Dim myfile As String
Dim varReturn As Variant
Location = "D:\Work\SonoSoft\Form Text Export\"
FileExtension = ".txt"
myfile = Dir(Location & "\" & FileExtension)
Do While myfile <> ""
varReturn = SysCmd(acSysCmdSetStatus, myfile)
Application.LoadFromText acForm, left(myfile, Len(myfile) - 4), Location & "\" & myfile
myfile = Dir
DoEvents
Loop
MsgBox "Complete"
End Sub