投稿時間:2006/12/20(Wed) 18:06 投稿者名:へるぷ・みぃ
Eメール:
URL :
タイトル:Re^2: DBからエクセルへデータをセットする時のエラー
環境はVB6+Excel2000+SQLServerです。
誰か同様の現象になるか、実行していただけますでしょうか・・・
SQL Server にて、以下のクエリを実行 ------------------------------------------------- create table t1 ( no int, f1 varchar(10), f2 varchar(10) ) go insert into t1 values(1, '''aa', 'bb') go insert into t1 values(2, 'a''a', '') go insert into t1 values(3, '''aa', '') go -------------------------------------------------
Sub Main() Dim xlApp As Excel.Application Dim xlBook As Excel.Workbook Set xlApp = New Excel.Application xlApp.Visible = True Set xlBook = xlApp.Workbooks.Add() Dim cn As ADODB.Connection Dim rs As ADODB.Recordset Set cn = New ADODB.Connection ' *** 部分は、それぞれの環境に合った値を設定 cn.Open "UID=***;PWD=***;Database=***;Server=***;Driver={SQL Server};DSN='';" Set rs = cn.Execute("select f1, f2 from t1 order by no") ' no = 1 のレコード With xlBook.Worksheets(1) .Cells(1, 1).Value = rs(0) ' A1セルに 'aa をセット(エクセルの表示上は aa ) .Cells(1, 2).Value = rs(1) ' B1セルに bb をセット End With rs.MoveNext ' no = 2 のレコード With xlBook.Worksheets(1) .Cells(2, 1).Value = rs(0) ' A2セルに a'a をセット .Cells(2, 2).Value = rs(1) ' B2セルに空の文字列をセット End With rs.MoveNext ' no = 3 のレコード With xlBook.Worksheets(1) .Cells(3, 1).Value = rs(0) ' A3セルに 'aa をセット(エクセルの表示上は aa ) .Cells(3, 2).Value = rs(1) ' B3セルに空の文字列をセット→ここでエラーが発生 End With rs.Close: Set rs = Nothing cn.Close: Set cn = Nothing Set xlBook = Nothing Set xlApp = Nothing End Sub
|