Partial Success
For anyone interested, a partial answer to the problem can be found in
http://support.microsoft.com/?kbid=311147, but does not work if the linked object embedded in the control is iconified and does not explain how to differentiate between linked/embedded and empty fields within the table. To do this you will need to query the OLEType property of the control e.g.
Forms(FormName As String).Controls(ControlName As String).OLEType
which will return 0/1/3 represented by the following constants:
acOLELinked (0), OLEEmbedded (1), acOLENone (3)
The problem is that if the embedded linked object is iconified, Microsoft's code does not return the path of the link - I need this to be able to automate re-linking of many files with the new path derived from the old/current path via simple string manipulation.
Does anyone know how to pragmatically de-iconify a linked embedded OLE object without using the SendKeys function?
DoCmd.RunCommand acCmdOLEObjectConvert
brings up the correct dialogue box when the target control has focus and
SendKeys "%" & "E" & "O" & "c" & "{TAB}" & "{TAB}" & "{TAB}" & "D" & "{ENTER}", True
performs the whole task, but isn't particularly elegant.
Thanks
James.