VB6.0用掲示板の過去のログ(No.2)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [管理用]

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


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- VBレスキュー(花ちゃん) - - Web Forum -