はじめましてこんにちわ。
現在ExcelとSQLServerでADOを使ってデータを取得したいと思っています。
SQL文をワークシート上に書いてそれを読み込んでSQL文を実行するようにしたいのですが、それを取得したあと、データをExcelワークシートに表示させる方法が思いつきません。
SQL文で指定するデータは任意の文です。そのため取得されたフィールドがいくつできるかわからない状態です。
例えば、SQL文であったら
SELECT 商品ID,商品名,価格 from 商品テーブル
なりますが、商品ID,商品名,価格フィールドを自動的に
Excelフォーム上に作りたいということです。
・基本的にSELECT文しか使わない
・SQL文は任意のSQL文である
の条件がありますがそれはできるのでしょうか?
よろしくお願いします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
もともとSQLはSELECTを例にとると、一括で条件に合うものを返され、見せてくれるが、各行(レコード)単位では捉えさせる考えはなかった。
80年代ぐらい?までの標準SQL。それでは不便なので、抽出結果を引き取って、1レコードづつ返してくれる仕組み(レコード処理)が備わった。
(1)カーソル処理や
(2)ADOで処理などとの連携である。
Accessはカーソル処理の仕組みはない。
後者は
http://www.geocities.jp/ak09z/vec/vba/ado.htm
などの例参照。
一方エクセルのシートにデータをセットするときは
行(レコードごと)列ごと(項目ごと)に分離しないとインポート出来ない(セルに値をセットできない)ので、(2)のようなものの利用経験が必要でしょう。結構勉強が必要と思う。
>SQLServerを使う、でなければMSクエリ(エクセルでデーター外部データの取り込み)
http://www11.plala.or.jp/koma_Excel/contents6/ma …
http://office.microsoft.com/ja-jp/excel/HA100996 …
http://www.ie.reitaku-u.ac.jp/~ykago/lectures/db …
などもある。
No.1
- 回答日時:
参考になりますかね。
http://support.microsoft.com/kb/246335/ja
要するに、こういう風にオブジェクトをVBA上で定義し
Dim DBCNC As New ADODB.Connection
Dim DBREC As New ADODB.Recordset
こういう風にコネクションを作成し
DBCNC.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=xxx.mdb"
こういう感じでシートに貼り付けるんです。
DBREC.Open "SELECT xxx FROM xxxDB", DBCNC
Worksheets("Sheet1").Range("A2").CopyFromRecordset DBREC
詳細は「CopyFromRecordset」で検索すると色々出てくると思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【PL/SQL】FROM区に変数を使う方法
-
SQL*Loader Append
-
where句中のtrim関数について
-
group byの並び順を変えるだけ...
-
アクセスのレポートでレコード...
-
データ
-
SELECT FOR UPDATE で該当レコ...
-
単一グループのグループ関数で...
-
引数によってwhere句を切り替え...
-
デフォルトでデータが表示され...
-
連続したデータを条件とするSQL...
-
AccessのSQL文で1件のみヒット...
-
osqleditについて
-
なぜ、WHERE句とHAVING句がある...
-
BLOB型項目をSQLの検索条件に指...
-
SQLで条件にヒットしたレコード...
-
「数字で始まらない」ものを抽...
-
oracleのSQLパフォーマンスにつ...
-
あるカラムに同じ値を持つレコ...
-
レコードの更新履歴について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【PL/SQL】FROM区に変数を使う方法
-
単一グループのグループ関数で...
-
group byの並び順を変えるだけ...
-
SQL*Loader Append
-
SELECT FOR UPDATE で該当レコ...
-
where句中のtrim関数について
-
AccessのSQL文で1件のみヒット...
-
アクセスのレポートでレコード...
-
「数字で始まらない」ものを抽...
-
トランザクションログを出力せ...
-
引数によってwhere句を切り替え...
-
データ
-
BLOB型項目をSQLの検索条件に指...
-
SQLで条件にヒットしたレコード...
-
1レコード全てを改行なしで表...
-
ACCESS レコードの並び順について
-
大量レコードをTRUNCATEせずに...
-
レコードの更新履歴について
-
PL/SQL内の共通関数の引数にフ...
-
トリガからプロシージャのコー...
おすすめ情報