SQL ServerのデータをUTF-8形式でCSVファイルに出力する
SQL ServerのテーブルのデータをAccess経由でUTF-8形式のCSVファイルに出力します。

テーブルを準備する
SQL Serverで「sample」という名前のデータベースの中に「Tサンプル」という名前のテーブルを用意しました。

参照設定の準備
Visual Basic Editorを表示し、「ツール」タブの「参照設定」をクリック します。

「Microsoft ActiveX Data Objects ×.× Library」をチェックし、「OK」ボタンをクリックします。

コードの記述
標準モジュールに以下のコードを記述しました。
Public Sub sample()
Dim i As Integer
Dim strCN As String
strCN = "driver={ODBC Driver 17 for SQL Server};server=LAPTOP-114315\SQLEXPRESS;DATABASE=sample;uid=admin;PWD=1111"
Dim cn As ADODB.Connection
Set cn = CurrentProject.Connection
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
Dim strm As ADODB.Stream
Set strm = New ADODB.Stream
Dim vData As String
Dim Target As String
With rs
.Open "SELECT * FROM Tサンプル IN ''[ODBC;" & strCN & "]", cn, adOpenForwardOnly, adLockReadOnly, adCmdText
For i = 0 To rs.Fields.Count - 1
vData = vData & .Fields(i).Name
If i < rs.Fields.Count - 1 Then vData = vData & ","
Next
vData = vData & vbCrLf
Do Until .EOF
For i = 0 To rs.Fields.Count - 1
vData = vData & .Fields(i).Value
If i < rs.Fields.Count - 1 Then vData = vData & ","
Next
vData = vData & vbCrLf
.MoveNext
Loop
.Close
End With
Set rs = Nothing
cn.Close
Set cn = Nothing
Target = CurrentProject.Path & "\Sample.csv"
With strm
.Charset = "UTF-8"
.Open
.WriteText vData
.SaveToFile Target, adSaveCreateOverWrite
.Close
End With
Set strm = Nothing
End Sub

