#170 | レコードセットを文字列で取り出す方法 | VBA | |
ADOの「GetString」メソッドを使うと、テーブルの複数のレコードを1つの文字列として取り出すことができます。 次の例では、テーブル「顧客マスタ」から先頭の10レコードをまとめて読み出し、変数strDataにセット、その内容をイミディエイトウィンドウに出力しています。GetStringメソッドの記述の仕方としては、第1引数には常に"adClipString"という定数を指定します。また、第2引数には取り出すレコード数を指定します(今回は10)。これを省略するとすべてのレコードが取り出されます。 Dim cnn As New ADODB.Connection
Dim rst As New ADODB.Recordset Dim strData As String Set cnn = CurrentProject.Connection With rst .Open "顧客マスタ", cnn, adOpenKeyset, adLockOptimistic, adCmdTableDirect strData = .GetString(adClipString, 10) Debug.Print strData .Close End With cnn.Close 上記のコード例では、画面では判断できませんが、各フィールドはタブで区切られています。もしカンマ(,)で区切りたい場合には、次のように第3引数にカンマを指定します。セミコロンやスペースで区切りたい場合にも、同様にそれらを第3引数に指定すればOKです。 strData = .GetString(adClipString, 10, ",")
さらに、上記のコード例では、各レコードはデフォルトであるCR+LFによって区切られています。これも第4引数を指定することによって、任意の文字で区切ることができます。次の例では各レコードを"■"で区切っています。 strData = .GetString(adClipString, 10, ",", "■")
|
|||
|
Copyright © T'sWare All rights reserved |