タイトル | : ADOでの実行時のエラー |
記事No | : 7198 |
投稿日 | : 2008/03/17(Mon) 10:24 |
投稿者 | : Yamada |
以下のコードでのエラーが解消されないのですが、どなたかアドバイスを頂けないでしょうか、 よろしくお願いします
環境 WindowsXP VB2005 NET Framework 2 Access2000
参照設定 Microsoft ActiveX Data Objects 2.8 Library Microsoft ADO Ext 2.8 for DDL and Security Microsoft DAO 3.6 Object Library
インポートされた名前空間 ADODB ADOX DAO
Sub syori() Dim dbs1 As New ADODB.Connection Dim dbs2 As New ADODB.Connection
Dim workt1 As New ADODB.Recordset Dim workt2 As New ADODB.Recordset
Dim wsql As String
' 接続を開く dbs1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\DATA1.MDB" dbs1.Open()
wsql = "SELECT * FROM data1;" workt1.Open(wsql, dbs1, CursorTypeEnum.adOpenDynamic, ADODB.LockTypeEnum.adLockOptimistic)
' 接続を開く dbs2.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\DATA2.MDB" dbs2.Open()
wsql = "SELECT * FROM data2;" workt2.Open(wsql, dbs2, CursorTypeEnum.adOpenDynamic, ADODB.LockTypeEnum.adLockOptimistic)
Do Until workt1.EOF workt2.AddNew()
◆◆◆ここでエラーが発生◆◆◆ 'これだと cnt=0 の時から『要求された名前、または序数に対応する項目がコレクションに見つかりません』と実行時エラーが出てしまう。 For cnt = 0 To 9 workt2.Fields(cnt).Value = workt1.Fields(cnt).Value Next
'これだと問題なし。 workt2.Fields(0).Value = workt1.Fields(0).Value workt2.Fields(1).Value = workt1.Fields(1).Value workt2.Fields(2).Value = workt1.Fields(2).Value workt2.Fields(3).Value = workt1.Fields(3).Value workt2.Fields(4).Value = workt1.Fields(4).Value workt2.Fields(5).Value = workt1.Fields(5).Value workt2.Fields(6).Value = workt1.Fields(6).Value workt2.Fields(7).Value = workt1.Fields(7).Value workt2.Fields(8).Value = workt1.Fields(8).Value workt2.Fields(9).Value = workt1.Fields(9).Value workt2.Update()
workt1.MoveNext() Loop
workt1.Close() workt2.Close()
dbs1.Close() dbs2.Close() End Sub
|