お世話になります。
現在VB2008にて、Olacleに接続し、
SQLのSelectを行おうとしています。
以下がそのSQL文です。
Dim dtRow As DataRow
Dim sql As String = ""
sql = "select * from T_GOUKEI;"
dt = ds.Tables("T_GOUKEI")
dtRow = ds.Tables("T_GOUKEI").Rows(0)
上記がそのSQLです。
私が行いたいのは、上記の抽出結果を、
Excelに書き込むというものです。
以前、DataGridViewの内容をExcelに書き込むという質問をし、
それについては出来るようになりました。
しかし、今回はSQLの結果なんですが、うまくいきません。
以下が、Excelに書き込む部分のソースです。
'ループでDataGridViewの指定した範囲の値を書き込む
Dim Y As Integer = 0
For i As Integer = 0 To dt.Columns.Count - 1
For j As Integer = 0 To dt.Rows.Count - 1
Dim xa As Excel.Range = xlSheet.Cells
Dim 番号 As Excel.Range = xa(i + 1, j + 1)
番号.Value = dtRow(0)
MRComObject(社員番号)
MRComObject(xa)
Y = Y + 1
Next j
Next i
だいぶ見づらいかも知れませんが、実行すると、
初めの行は書き込まれますが、
1行目の最後の列を書き込んでから
「列'11'がありません。」というエラーが出てしまいます。
ちなみにテーブルデータは10列までのなので、
10列に達した時点で、次の行を書き込むという作りにしたのですが、
その部分について、ソースの書き方をご教授願えないでしょうか。
それ以外にも、要領のいい書き込み方があれば、
教えていただきたいです。よろしくお願いします。
No.3ベストアンサー
- 回答日時:
こんにちは、エクセルだけで、SQLを用いて、
データベースファイルにアクセスするには、
ODBCを利用します。
ODBCは、データーベースのサーバに、SQLサーバでも
MySQLでも、アクセスのMDBでも、他、いろいろ
選んでも、ODBCの設定が上手く行っていれば
動作すると思います。
ODBCを、Oracleでの利用は、私自身
MySQL、SQLサーバ、MDBでしか、やったことないので、
調べてみてください。
例えば、ODBCだと、エクセルのファイルもサーバファイルにも
利用できるので、その例は、
odbcの接続偏
http://www.geocities.jp/tomtomf/odbc1/odbc1.htm
odbcによる参照編
http://www.geocities.jp/tomtomf/odbc2/odbc2.htm
http://www.geocities.jp/tomtomf/odbc3/odbc3.htm
応用すれば、SQLのデータベースの参照は、
エクセルだけで、可能です。
エクセルの設定が、いろいろあるので、
一定時間間隔で、参照を繰り返したりも出来ます。
参照だけだと、エクセルの機能だけで、
何かと便利ですよ。
No.4
- 回答日時:
追伸
ググっていたら、エクセル2007での設定例を見つけました。
便利になったのですね。
私のは、XPなので、バージョンによって、
見栄えが、違うみたいです。
http://www.microlab.jp/xcutedoc/Documents/manual …
Excelの操作に関しては考えておりませんでしたので、
自分でも調べてみたりして、試してみようかと思います。
わざわざ検索までしていただいて、
情報提供ありがとうございます。
No.2
- 回答日時:
こんにちは、
>それ以外にも、要領のいい書き込み方があれば、
>教えていただきたいです。よろしくお願いします
VBもVBAも使わず、エクセルの機能でSQLが、使えますが。
どうしても、プログラミングしたいのですか。??
プログラミングの勉強ですか??
回答ありがとうございます。
>VBもVBAも使わず、エクセルの機能でSQLが、使えますが。
私のイメージ的な考えだったのですが、
プログラミングでVBからOlacleに接続し、SQLのselectを行い、
さらにその結果をExcelに書き込むという流れで書いていました。
ですが、どうしてもというわけではありませんので、
ExcelからSQLを実行させる方法があるのでしたら、
よろしければその方法を、ご教授願えますか?
No.1
- 回答日時:
Cellsの引数の使い方を間違っていますね
For i As Integer = 0 To dt.Columns.Count - 1
For j As Integer = 0 To dt.Rows.Count - 1
' ココが不要
'Dim xa As Excel.Range = xlSheet.Cells
Dim 番号 As Excel.Range = xlSheet.Cells( j+1, i+1 )
番号.Value = dtRow(0)
'これは 番号なのでは ??
MRComObject(社員番号)
' ココも不要
' MRComObject(xa)
Y = Y + 1
Next j
Next i
回答ありがとうございます。
>Dim 番号 As Excel.Range = xlSheet.Cells( j+1, i+1 )
引数をまとめれば、開放する回数も一度で済みますね。
>MRComObject(社員番号)
すみません、間違えた内容を投稿していました・・・。
それと、
番号.Value = dtRow(0)
も
番号.Value = dtRow(Y)でした。
すみません、余計わかりづらくなってしまいました・・・。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- Visual Basic(VBA) 【VBA】For文を使用し、行をコピーして別シートに貼り付ける方法を教えてください。 4 2022/07/19 09:01
- Visual Basic(VBA) 別シートから年齢別の件数をカウントしたいの続き 5 2023/01/24 00:16
- Visual Basic(VBA) vbaの計算 if elseと範囲について 6 2022/11/26 01:49
- Visual Basic(VBA) ExcelVBAに関する質問 3 2023/02/17 10:47
- Visual Basic(VBA) このVBAでExcelアプリケーションを作成は必要ですか? 3 2023/07/19 21:13
- Visual Basic(VBA) Excelで下記のようにマクロを作ったところ、一回目は実行できたのですが、二回目以降「実行時エラー1 1 2022/03/25 08:08
- Visual Basic(VBA) 前回ご教授いただいたコードに覚えたてのループ処理で品名りんごAから順に20回for nextでループ 7 2023/01/13 22:01
- Visual Basic(VBA) ExcelからAccessのテーブルに書き込む時に時間がかかる 1 2022/10/14 20:38
- Visual Basic(VBA) 【前回の続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/16 16:44
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
IUSR でCreateObject("Excel.Ap...
-
ActiveXをダウンロードさせてた...
-
VBAでネットワーク上のバッ...
-
LogonUser関数が ERROR_PRIVIL...
-
ctfmon.exe。スタック ベースの...
-
MacBookAir起動時にRubyソース...
-
外部アプリケーション操作
-
デスクトップパソコンのSSD化を...
-
web.configとは?(初心者です)
-
windows10でハンゲーム起動でき...
-
2つの異なるサーバーのDBを扱う
-
VB.NET Oracle接続 クライアン...
-
Program FilesとProgram Files ...
-
GridviewとDataGridviewの違い
-
pixus mp630 ドライバインストール
-
レンタルサーバー上のMySQL
-
IIS
-
新プログラミング言語Dartについて
-
エクスプローラーは動作を停止...
-
BUWはインストールできました。...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
IIS7.5 Excel ファイルオープ...
-
VBAでネットワーク上のバッ...
-
McAfeeの使い方
-
ASP.NET での処理表示について
-
VBS でユーザ名からそのユーザ...
-
IUSR でCreateObject("Excel.Ap...
-
ASP AccessDBオープン出来ない
-
IISのユーザについて
-
LogonUser関数が ERROR_PRIVIL...
-
googlスライドの編集権限について
-
PowerDVD15のデバイス&ホーム...
-
WinAPIでWindowsの権限を調べる...
-
Windowsサーバー、PHPでアクセ...
-
VC++からのoracle接続方法
-
XAMPPのメニュー画面までたどり...
-
管理者権限のないユーザーだと...
-
MDBのアクセス権
-
ユーザーアカウント制御について
-
Tomcatの設定で困っています。
-
ASP.NETのWEBアプリがクライア...
おすすめ情報