- - PR -
SQLサーバーのビューをExcelに出力する方法
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2006-07-23 13:41
環境:Excel2002、SQLサーバー2000
SQLサーバーのビューをExcelに出力する方法で質問があります。 PC側にODBCの設定をせずに Excelのコマンドボタンをクリックしたときに SQLサーバーに接続したいのですがどのようにしたら よろしいのでしょうか。 インターネットで検索し、 VBAでMicrosoft Jet 4.0 OLE DBやOpendatabaseメソッドを 利用したコードがあったのですが、ODBCの設定が不要であるという 記載がなかったので上記のような質問させていただきました。 ご存知の方、お手数ですが回答を頂けると助かります。 [ メッセージ編集済み 編集者: みかん 編集日時 2006-07-23 13:43 ] |
|
投稿日時: 2006-07-23 13:45
VBA で ADO 使って query を書いてやれば一発ですが?
もちろん ODBC の設定は不要です。 |
|
投稿日時: 2006-07-23 18:46
ご回答いただきありがとうございます。
なんとか以下のようにすることで データを取得することができました。 Option Explicit Sub DBconnect() '接続先に送る接続情報 Dim connect As ADODB.Connection '接続情報の内容 Dim strConnect As String 'SQL文 Dim strSQL As String '取得したレコードセットを保存 Dim dbRset As New ADODB.Recordset 'ワークシートの指定 Worksheets("Sheet3").Activate ' 接続を確立する Set connect = New ADODB.Connection strConnect = "Provider=SQLOLEDB;Data Source=AAAAAA;" strConnect = strConnect & "Initial Catalog=Northwind;" strConnect = strConnect & "User ID=sa;" strConnect = strConnect & "Password=sa;" connect.Open strConnect MsgBox ("接続しました") ' テーブル名,条件を指定してレコードセットを取得する strSQL = "select * from dbo.categories" dbRset.Open strSQL, connect, adOpenKeyset, adLockReadOnly Rows("2:65536").ClearContents ' レコードセットの内容をコピーして貼り付け Range("A2").CopyFromRecordset dbRset ' レコードセット、データベースを閉じる dbRset.Close Set dbRset = Nothing connect.Close Set connect = Nothing End Sub |
|
投稿日時: 2006-07-23 23:53
うまくいったと思ったのですが、
他のPCで実行したところ以下のようなエラーが 出てしまいました。 実行時エラー '-2147467259(80004005)': [DBNMPNTW]ConnectionOpen(CreateFile()). 以下の行で止まってました。 connect.Open strConnect DBNMPNTWで調べたのですが SQLサーバーの設定を変える必要があるとのことで 少々困っています。 何かほかに手段がないものでしょうか。 |
|
投稿日時: 2006-07-24 00:06
Client の MDAC の version は?
2.6 未満の場合、更新する必要があります。 Universal Data Access 関連ダウンロード ちなみに最新はこちら Microsoft Data Access Components (MDAC) 2.8 SP1 |
|
投稿日時: 2006-07-25 15:49
ありがとうございます。
解決いたしました。 |
1