| 投稿時間: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
 
 |