Does this small app help?
There's a table with a few random strings included. A single form is linked to a query based on the strings in the table. I made the query select distinct values, as I thought in your circumstance you would have duplicates.
The form shows those strings in a continuous form. and lets you assemble them into a larger text string, by selecting the sub strings you want to build up the new string. It's easier than using a combo box I think, as you have more space to work with.
The hardest part was understanding how the string manipulates the selstart and sellength properties, and I learned a bit in the process!
Note that there is one catch. If you edit the new string directly, the selstart property gets reset to 0, and the new text box loses the active cursor setting. Try editing the text, then inserting a substring - the insert now gets placed at the start. You can fix this by clicking out of the text box, then back in again which resets the selstart cursor, and then click out again (without editing it manually again)
I had included some code to track changes to the selstart value to see what was happening, but have commented it out.
This behaviour is explained in this link - but I don't quite follow the code, (very comprehensive answer posted by C Perkins) so rather then spend more time on it, I just noted the click out and back in fix above.
I have a TextBox on a Form. I take the cursor position using .SelStart property in that TextBox. It works as required when I click within TextBox. I then use that position to insert certain symbols...
stackoverflow.com
I found another reference to this issue here on AWF from 2012 but I don't believe it did actually fully explain the behaviour. Here's a link to the thread.
Using SelLength and SelStart | Access World Forums (access-programmers.co.uk)