投稿日 | : 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