愚者の経験

「また今度」はほとんどこない

日別アーカイブ: 11月 23, 2011

ADOのRecordsetをフォームに利用 番外編

今回は「自作した」レコードセットにデータを追加し、それをフォームに表示させる場合のメモ。
「自作した」レコードセットとはSQL文に依らないレコードセットのことで、
SQL文に依らないのでフィールドの数、型宣言、データの追加等をすべて自分で行う必要があります。
作業用のテーブルがかなり近い感覚。
今後この「自作した」レコードセットを「スタンドアロンレコードセット」と呼ぶことにします。

スタンドアロンレコードセットの作り方
1. ADODB.Recordsetを作成する

Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset

2. フィールド(列)を作成する

rs.Fields.Append , , , ,

あとは普通のレコードセットと同じでRecordsetを開き、Addnewメソッドでデータを追加して完成です。

rs.Open
rs.AddNew Array(“TESTID”, “TEST”), Array(1, “test”)

出来たレコードセットをフォームのレコードセットに代入すればいいのですが

Set Me.サブフォーム1.Form.Recordset = rs

おそらくテキストボックスに「#エラー」がでます。
自分もよくわかりませんが、フィールドのデータ型が
adLongVarWChar以外でこうなるようです。

もしかしたらAppendの第四引数が関係しているかもしれませんがよくわかりません。

広告