• ベストアンサー

エクセルでSQLを使う

chibita_papaの回答

  • ベストアンサー
回答No.5

はずしていたらごめんなさい sub aaa Dim conn As New ADODB.Connection Dim rst As New ADODB.Recordset Dim strSQL As String strSQL = "SELECT * From TESTTABLE Where AAA=" & Range("S3") '<-- ここは必要に応じて Range("A2:D1000").ClearContents   'SQL Serverの接続文字列の例 'connstr = "Provider=sqloledb;" & _ "Data Source=db;Initial Catalog=test;User Id=test;Password=test; " '私は、個人的には、UDLファイルを使うのが好きです 'connstr= "File Name=C:\test\test.udl" conn.Open connstr rst.Open strSQL, conn 'ここがミソ 'たぶんこれがやりたかったのでは? Range("A2").CopyFromRecordset rst rst.Close conn.Close Set rst = Nothing Set conn = Nothing end sub

takamoke
質問者

お礼

感謝します。まさにこれ。お手数お掛かしました。

関連するQ&A

  • ORACLEでのSQLについて

    SQLについて教えてください。 今、VBからORACLEデータベースにSQLを投げる処理を作っているのですが、 一つわからないことがあります。 例えば、アクセスでは、クエリで新しいテーブルを作成するという考え方がありますが データベースがORACLEでも同じようなことができるのでしょうか? 別に新しいテーブルを作成することに執着するわけではなく、テーブルのデータを削除 してから、そのテーブルにSQLにて引っ張ってきたデータを入れる という ものでもいいと考えています。そのやり方でもかまいませんので教えてください。 宜しくお願いします。 Oracle8.1.6 vb6

  • VBとSQLで、、、、

    私は最近ソフトウェアの開発に携わることになりました。 私自身プログラミングの経験は全くありません。 何を命じられたのかといいますと、VBとSQLをつかって、サーバー上の  データベースにクライアントからアクセスして、ほしいデータだけをもってくる  業務を支援するようなソフトを作るのです。 例えば、ユーザーが日付の範囲だけをいれると、その間に店を訪れた人のすんでい  る地域別、さらにそのお客の年代別で何人いるのかというようなものが  ボタンひとつでだせるようなものなんです。 まったく知識がなくてとりあえずVBの基本とSQLコマンドの本を片手に  やっています。(あと、アクセスでおおよそのデータベースについて学びまし  た) で、結局何がいいたいのかと申しますと、VBとSQLを利用したデータベースの  構築に関する良い文献を紹介していただきたいのです。 VBは初心者なのでとりあえず、それようのものを。 あと、ストアドというものを駆使するらしいので、それについての詳しい本を  紹介してください。サイトなんかでもよいです。 それでは、よろしくお願い致します。  (多分、質問の内容もわけのわからないことを言ってるかもしれません^^;)

  • VBを使ってる初心者です【SQL】【Access】

    VisualStudio2008で、Access2010のデータベースからデータ抽出を行えるアプリを作っています。 このときSQL文を用いてAccessからデータ抽出を行うんですかね? そもそもVisualStudio、SQL、Accessそれぞれがどのように関係しているのかわかりません。 いくつかサイトを見て回ったのですが・・・ 教えてほしいこと 1. データ抽出アプリを作るにあたってVisualStudio、SQL、Accessの各々がどのような役割を果たすか 2. Accessのデータベースの形式は空or Webどちらが有効なのか 3. VisualStudioでデータの抽出を行う方法 長くなりましたがよろしくお願いします。 開発言語はVBで、私自身は簡単なプログラムであれば理解できるレベルです

  • エクセル→SQLサーバー エクスポート

    今あるシートのデータをSQLサーバーへエクスポートしたいのですが何か良い方法はありますか? 一度移行してしまえば新データ追加時はADOで対応していきます。 SQLサーバー→エクセルはODBCでできるのですが エクセル→SQLサーバーがわかりません。 とりあえず何枚かのシートは Accessへエクスポートして、そこからSQLサーバーへエクスポートしました。 エクセルに「エクスポート」という項目が見当たりません。 無理なのでしょうか?(2003です) よろしくお願いします。

  • エクセルで関数でお聞きします。

    いつもお世話になっています。エクセルで、データを簡単にまとめたいのですが、こんな事が出来る方法がありましたら是非ご教授下さい。 Sheet1              Sheet2     A    B             A    B     1   ++   ああ        1   ++   ああ 2   --   いい        4   ++   ええ 3   **   うう         9   ++   おお 4   ++   ええ 5   //   おお 6   --   ああ 7   **   ああ 8   //   いい 9   ++   おお 10  **   いい 見づらくて申し訳ありませんが、 (1)例えばシート1の中でA列で++と入力された行だけをシート2に飛ばしたい。 ※実際は文字の完全一致では無く頭文字の一致で行いたいです。 (2)シート1で、B列の【ああ】と【いい】と【うう】と入力された個数だけを列の一番下に合計で表示したい 以上どうかご教授ください。

  • SQLで複数のMAX値の取得

    VB2010とAccessを使用しています。SQL初心者です。 SQLである列の最大値を求めたいのですが、『0~99』でのMAX、『100~199』でのMAX…のように 各々の範囲での最大値を求めるようなSQLを一行で書くことができるのでしょうか? やはり各範囲づつSQLを書く必要があるのでしょうか? ご教授お願いします。

  • VBでSQLサーバーへ接続できない

    WVD2008ではSQLサーバーへ接続できて、データも表示できるのに、 VB2008からは最初の設定画面がわかりません。 添付の図は 右:WVD 左:VB です。 WVDは データソース:Microsoft SQL Server (SqlClient) サーバー名:○○○\SQLEXPRESS データベース名:master と入力しテスト接続すると「成功」します。 しかしVBは データソース:Microsoft SQL Server Compact 3.5 データベースファイル名:○○○\SQLEXPRESS もしくは データソース:Microsoft SQL Server データベース ファイル (SqlClient) データベース:○○○\SQLEXPRESS と入力しテスト接続すると「見つかりません」となります。 アクセスへなら データソース:Microsoft Access データベース ファイル (OLE DB) データベースファイル名:C:\\Desktop\Documents\○○○.mdb として接続できます。 接続できないというよりもVBにおいてのSQLサーバーへの設定方法がわかりません。 VBにて サーバー名:○○○\SQLEXPRESS データベース名:master へ接続したい場合はどうすればいいでしょうか? ご教授よろしくお願い致します。

  • Excel上のSQLでReplace関数

    ExcelからADO経由でMDBにつないでいます。 SQLの中で文字列を更新したくてReplaceで置き換えようとした のですが、Accessのモジュール上でのSQLでは問題なくReplace が使えているのですが、Excelのマクロ上ではダメです。 この場合、どうしたらいいのでしょうか? ヨロシコ願いします。

  • accessから、excelへ外部データを取り込んだのですが・・・。

    お世話になります。 accessのデータベースをエクセルのワークシートへ、外部データの取り込みを用いて取り込んだのですが、おかしな状況が起こってしまいました。 取り込んだデータの後ろに、ついていないはずの”・・・・・”という文字列が勝手についてしまっているのです。(ex、”東京都”というアクセスのデータをexcelにとりこんだら”東京都・・・・・”という文字列に勝手になってしまっている) この現象はいったいなぜなのでしょうか?またこの現象を発生させないためにはどうしたらよいにでしょうか? 分かりにくい質問内容でごめんなさい。 どなたか御指導よろしくお願いいたします。

  • Excel VBA ある範囲内で検索条件に一致したデータを入力する

    Excel VBA ある範囲内で検索条件に一致したデータを入力する Excel2003を使用しています。 Sheet2で選択している範囲内のB列のデータがSheet1で選択している範囲内のB列のデータと一致していたら、そのA列のデータをSheet2のA列に入力するというマクロを作成中ですが、うまくいきません…。 Sheet1とSheet2の選択範囲については、このマクロを実行前に都度選択するようにし、A列のデータは日付、B列のデータは数値です。 以前、示していただいたサンプルを参考にコードを書き換えて試していますが、なかなか思うようにいかず、質問させていただきました。 よろしくお願いします。