Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


75118 / 76732 ←次へ | 前へ→

【6062】これでフォローになりますか?
回答  孫悟空  - 03/6/14(土) 22:06 -

引用なし
パスワード
   オラクルボーイさん、こうちゃん こんにちは、
以下のようなコードで、できると思います。
ちなみにオラクルoo4oのサンプルコードに、よく似たものが載ってます。
一度のぞいてみてください。結構勉強になります。

Function M_Test()
  Dim GOraSession, GOraDatabase, GOraDyna, GOraFields As Object
  Dim StrSQL As String
  Dim i, icols As Long

  'データベースとの接続
  On Error GoTo oo4o_Error
  Set GOraSession = CreateObject("OracleInProcserver.XOrasession")
  On Error GoTo 0
  
  On Error GoTo Con_Error
  Set GOraDatabase = GOraSession.DbOpenDatabase("aaa.world", "aaa/bbb", 0&)
  On Error GoTo 0
  
  'SQL実行
  StrSQL = "select * from test_tbl"
  Set GOraDyna = GOraDatabase.DbCreateDynaset(StrSQL, 0&)
 
  '以下2通りの方法でデータを貼り付けます。
  '1. CopyToClipboardを使って、シートにデータを配置する方法
  GOraDyna.CopyToClipboard -1
  Range("A2").Select
  ActiveSheet.Paste
  
  '一旦データを消して
  Cells.ClearContents
  
  '2.ループで連続データ貼り付ける方法
  Set GOraFields = GOraDyna.Fields

  ' シートに見出しを配置します
  For icols = 1 To GOraFields.Count
    Cells(1, icols).Value = GOraFields(icols - 1).Name
  Next icols

  ' シートにデーターを配置します
  i = 2
  Do While Not GOraDyna.EOF
    For icols = 1 To GOraFields.Count
      Cells(i, icols).Value = GOraFields(icols - 1).Value
    Next icols
    i = i + 1
    GOraDyna.DbmoveNEXT
  Loop

  Set GOraSession = Nothing
  Set GOraDatabase = Nothing
Exit Function

oo4o_Error:
  MsgBox "oo4o_Error"
Exit Function

Con_Error:
  MsgBox "Con_Error"
Exit Function

End Function

1 hits

【6040】オラクルのテーブルをエクセルにコピーしたいのですが。。。 オラクルボーイ 03/6/13(金) 14:23 質問
【6042】条件を明確にしましょ!! こうちゃん 03/6/13(金) 14:57 発言
【6043】ご返答ありがとございます。 オラクルボーイ 03/6/13(金) 15:26 質問
【6046】Re:ご返答ありがとございます。 こうちゃん 03/6/13(金) 16:50 発言
【6062】これでフォローになりますか? 孫悟空 03/6/14(土) 22:06 回答
【6109】ありがとうございました! オラクルボーイ 03/6/16(月) 19:48 お礼

75118 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free