![]() |
![]() |
レコードセットを文字列で取り出す方法 | 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 | ![]() ![]() |