レコードの内容を文字列として取得する GetString メソッド

レコードの内容を文字列として取得する GetString メソッド

Sub 文字列として取得()
'レコードの内容を文字列として取得
Dim myCon As New ADODB.Connection, myRS As New ADODB.Recordset
Dim FileName As String, myStr As String
FileName = ThisWorkbook.Path & "\mdb\2-sampleDB.mdb"
myCon.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & FileName
myRS.Open "アルバイト", myCon, adOpenStatic, adLockReadOnly

'レコードの内容を文字列で取得(5レコード分)
myStr = myRS.GetString(adClipString, 5, ",", vbCrLf)

'テキストファイルへ書き出す
Open ThisWorkbook.Path & "\txt\RS.TXT" For Output As #1
  Print #1, myStr
Close #1

myRS.Close: Set myRS = Nothing
myCon.Close: Set myCon = Nothing

End Sub

GetString メソッド Recordset を文字列として返します。
Variant = recordset.GetString(StringFormat, NumRows, ColumnDelimiter, RowDelimiter, NullExpr)

Recordset をバリアント型 (Variant) 変数 (BSTR) の文字列として返します。

引数
StringFormat Recordset を文字列に変換する方法を示すStringFormatEnum値を指定します。RowDelimiter、ColumnDelimiter、およびNullExpr の各パラメータは、StringFormat に adClipStringを指定した場合にのみ使用できます。
NumRows 省略可能です。Recordsetから変換する行数を指定します。NumRowsを指定しない場合、または Recordsetの行数の合計より大きい値を指定した場合は、Recordsetのすべての行が変換されます。
ColumnDelimiter 省略可能です。列の区切りに使う区切り文字を指定します。指定しなければ、タブが使用されます。
RowDelimiter 省略可能です。行の区切りに使う区切り文字を指定します。指定しなければ、復帰改行が使用されます。
NullExpr 省略可能です。Null値に入れる式を指定します。指定しなければ、空文字列が使用されます。

「社員」テーブル

実行結果

リストでは先頭から5つのレコードを文字列として取得している。
このとき、フィールド区切りは「,」(カンマ)、レコード区切りは「vbCrLf」(Windows
改行コード)を使用している。