Don't be misled by the mouseover behaviour in the VBA editor. It simply cannot display multi-byte characters (i.e., essentially anything outside of the Windows "ANSI" character set). DAO can indeed manipulate multi-byte (e.g., Unicode) characters, but the VBA editor cannot display them in tooltip text, or in the Immediate window, or in the Watch window.
To illustrate, for the following test data in an Access table named [vocabulary]
ID word language english_equiv
-- ------ -------- -------------
3 γιορτή Greek feast
The following code
Option Compare Database
Option Explicit
Sub rsTest()
Dim cdb As DAO.Database, rst As DAO.Recordset
Dim strm As ADODB.Stream
Set cdb = CurrentDb
Set rst = cdb.OpenRecordset("SELECT word FROM vocabulary WHERE ID=3", dbOpenSnapshot)
Debug.Print rst(0).Value
Set strm = New ADODB.Stream
strm.Type = adTypeText
strm.Charset = "utf-8"
strm.Open
strm.WriteText rst(0).Value
strm.SaveToFile "C:\Users\Gord\Desktop\foo.txt"
End Sub
displays the following in the VBA editor's Immediate window
????t?
but the resulting text file does contain the correct (Greek) characters
So don't fret over the ?
characters in the VBA editor display and concentrate on what actually ends up in your Word document.