• 締切済み

AccessからExcelへのデータのアウトプット

Visual Basic 初心者です。 Accessデータベース上にある指定した数値を、Excelの指定されたシートのセルに落とすことは可能でしょうか? もし可能であれば簡単にそのプログラムであったり、それが記載されている文献、URLを教えていただけると幸いです。 よろしくお願いいたします。

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

>Visual Basic 初心者です VB6なのか(AccessVBA,エクセルVBAレベルなのか)、VB.NET系なのか >Accessデータベース上にある指定した数値を テーブル等の有るフィールド(1つ?複数?)の数値か、テーブルの 1つのレコードの有るフィールドの1つの数値か それを決定する条件的なことも、質問に書かないとわからないと思うが。 ーー Google ででも 「Access Excel VBA」などで照会すれば http://itpro.nikkeibp.co.jp/article/COLUMN/20060127/228088/ のような記事が沢山出る。これは例として最適ではないが。 それらを継ぎはぎして、自分でまずやってみるべきだと思う。 エクセルVBA側からやるほうが少し易しいかと思う。 下記をエクセルのVBEの標準モジュールにコピペして、実行してみてください。その際の条件を下記に挙げていますから注意。 ーー ただし2ソフトのデータ連携など、拙速に学習の最初の段階からやるというのは難しいように思う。すぐ他人に聞かねばならない(質問する)ことになり、他人頼みになってしまう。時間がかかることになると思う。 ーーー WEBに載っていたものを多少修正した。 エクセルVBAでアクセスのテーブルを読む課題。 とりあえず評示はMsgboxでやっている。 Sub test01() Dim myrec As ADODB.Recordset Set myrec = New ADODB.Recordset Dim cnt As String Dim sql As String cnt = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=db2.mdb" sql = "SELECT * from 生徒" myrec.Open sql, cnt myrec.MoveFirst i = 1 MsgBox myrec.Fields.Count Do Until myrec.EOF = True For j = 0 To 10 'myrec.Fields.Count - 1 MsgBox myrec.Fields(j).Value Next j myrec.MoveNext i = i + 1 Loop myrec.Close Set myrec = Nothing End Sub ーー ただし、準備として アクセスのdb2.mdbが有ること(自分のケースに書き換えること) テーブル「生徒」が有ること。(同上) テーブルのセルのデータに空白Nullがないこと。 参照設定をしておくこと。 それは、ツールー参照設定 Microsoft Active Data objects X.X Libralyにチェエク ーー 更なる課題 選択のクエリSQL文について、質問者に合うようにするには、を勉強する あとエクセルのセルにデータをセットする方法を勉強する。 http://www.accessclub.info/actips/tips_105.htm などを組み合わせて色々やってみること。

全文を見る
すると、全ての回答が全文表示されます。
noname#140971
noname#140971
回答No.1

C:\Temp\DB11.MDB tab1: テーブル ID_売上日_________品目_金額 __1_2008/10/01_A_____\1,000 __2_2008/10/02_B_____\2,000 __3_2008/10/03_C_____\5,000 __4_2008/10/04_D_____\6,000 __5_2008/10/05_E_____\1,000 エクセル 1000 =DBLookup("金額", "tab1", "id=1") このようにA1にAccessのテーブルを参照する式を書くことで目的は達成できます。 ※エクセルに式を組み込んで参照したいのでしょうか? ※であれば、DBLookup関数を補足します。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • アクセスからエクセルへのデータ転送、その後グラフ表示

    OS:windows2000pro アクセスバージョン:アクセス2000 エクセルバージョン:エクセル2000 投稿場所はここでいいのかちょっとわからないですが、投稿します。 素人です。もうしわけないですm(_ _)m アクセスのテーブルのデータを既存のエクセルの指定したワークシートの指定したセルに送りたいのですが、うまくいきません。 やりたいことは、あらかじめグラフ表示用のエクセルファイルを作成しておいて、アクセスから指定したセルにデータを送り、その直後そのエクセルファイルを開くようにしたいのです。開いた後も、閉じるとアクセスに戻るようにしたいと思います。 現在はマクロのワークシート変換でやろうかと四苦八苦しています。 範囲のところに、 test!A1:X1 といった感じで指定しています。一回目はうまくいきますが、二度目はデータが残っているためか、失敗してしまいます。 現在考えている対処法は、エクセルファイルの表示画面に閉じるボタンを用意し、それが押されることで、データが記載されているシートの内容を削除し、エクセルを閉じるというようにしようと思っています。 お聞きしたいのは、エクセルVBAで、このような動作が可能かどうか。 また、より簡単で効率の良い方法があれば教えていただければ幸いです。 よろしくお願いしますm(_ _)m

  • アクセスのデータをエクセルへ…

    アクセスのデータベースから抽出した項目のデータを エクセルのレイアウト上の各セルに振り分けて エクセルを自動で名前を付けて保存する方法はないですか?

  • WordやExcelで作ってた帳票をAccessで出力したい

    今までWordやExcelで作っていた帳票があるのですが、項目をデータベース化して、Accessで一括管理することになりました。 客先に出すものもあるので、今まで使ってたものを忠実に再現したいのですが、Accessのレポートで表はどうやって作るのでしょうか?線を引くツールはあるものの、「表」の作成方法が分かりません。 表の中にデータを入れ込んだり、データによっては表のセルを網掛けしたりする必要があるのですが、そういうのは可能でしょうか? また、今まで作ってあるExcelシートのセルを指定して、Accessから直接データを出力することはできるのでしょうか? AccessでPGはそこそこ触ったことがあるのですが、上記のような仕様は全くの初めてで…何かとっかかりというか、ヒントみたいなものを教えていただければ幸いです。

  • エクセルのデータをアクセスのテーブルに移動入力する

    エクセルのデータをアクセスのテーブルに移動入力するVBA フォルダAにおいて、a1.xlsxというファイルがあり、 そのsheet1のセル(a,1)=1 A1が1 とします その値をアクセスのデータベース(これもフォルダAにあります)  b.accdbのテーブル1の フィールド1に入力したいときの エクセルマクロのVBAを御教示いただけると助かります さらに続けて フォルダAにおいて、a2.xlsxというファイルがあり、 そのsheet1のセル(a,1)=2 A1が2 とします その値をアクセスのデータベース上記と同じ  b.accdbのテーブル1の フィールド1に追加で入力したいときの エクセルマクロのVBA 以上わかると助かります よろしくお願いします win10 office365

  • Accessデータの特殊なエクスポート方法

    いつもお世話になっております。 Accessの特定のデータを、ある特定のExcelの指定したシート及びセルにエクスポートする方法が分かりません。 例として、Accessのテーブル(T_売上)のフィールド(品名)をエクセルファイル(販売.xls)のsheet1のシート名(売上明細)のセル「D6」へ、同じくAccessのテーブル(T_売上)のフィールド(金額)をエクセルファイル(販売.xls)のsheet1のシート名(売上明細)のセル「F12」へエクスポートしたいのです。 これにより、Accessデータを利用して、請求書を作成したいのです。 もちろんAccess上では、請求書発行プログラムは作っていますが、今回、Excelで利用する必要が生じたための質問です。 Access及びExcelは2010(OSはWindows7)です。Access、Excelは2003でも構いません。 また、Access、Excelは共にC:\にあります。 ネットでも色々と調べてみましたが、今一つ要領を得ません。 方法をご存知の方は是非アドバイスをお願い致します。

  • ExcelとAccess連携において

    簡単な概要は次のとおりです。 あるエクセルの質問シートがあります。 質問内容等を入力し、アクセスのデータベースに登録を行いたい。 後、登録を行ったものを呼び出し、質問シートの印刷を行うことも行いたい。 特に、質問内容がひとつのセルにしているのですが、内容に度々改行を行うことがあります。(同じように回答欄もあります。) そのままの状態で、アクセスのテーブルに書き込みたい。 試してみたのですが、改行が取れてしまいます。どのような対応を行えばそのままの状態で登録できますでしょうか? また、逆にテーブルからエクセルへの取り出しも行おうとしていますが、改行が度々使用されている内容の場合何かプログラムに工夫を行わないといけないのでしょうか? よろしくお願いいたします。

  • VB2008 Excelにデータ出力

    VB2008で、Timerで更新されるTextBoxの数値をExcelに順次出力する(セルA1に出力したら、次の値をA2に出力、・・・)プログラムを作りたいのですが、どんなソースにすればよいか分かりません。 Web検索もしましたが、キーワードが悪かったのか、適したサンプルも見つかりませんでした。 VB Form上のTimerでTextBoxの数値を更新する部分はできていますので、指定のフォルダ内のExcelを開いてデータをセルに出力する方法を教えてください。 参考URLなどもあれば教えてください

  • 壊れてしまったアクセスデータベースのデータ移行

    はじめまして。アクセス2000のほぼ初心者に近い者です。 会社で使用しているアクセスデータベースが壊れてしまいました。データ自体は大丈夫なのですが、数値を入力すると「良」「可」などの判定が出るようになっているのですが、それが出ません。 ここで、質問です。壊れてしまったデータベースのデータは最新のもので、壊れる前のデータベースに、壊れてしまったデータベースの最新データ(フォームではなくデータのみ)だけを移行することは可能でしょうか?重複するデータは上書きになり、新しいデータはそのまま追加されるような形が理想です。 一度、エクセルにデータを移して、それを外部からの取り込みであたらしいテーブルにコピーしようとしたのですが、ダメでした。 ちなみにこれは別の人がプログラムを組んだそうです。今、会社にアクセスをプロ並みに扱える人材がいませんので、こうして質問してみました。初心者なので、どうぞ宜しくお願いします。

  • アクセスのデータベース内のデータをエクセルでみれるように・・・

    以前にも同様の質問があったやもしれないのですが、見つける事が出来ず・・・。 同じ事聞いていましたらごめんなさい(TcT) アクセスのテーブルにあるデータベース(行には管理番号・氏名・住所・電話番号等の情報)を エクセルで見たいのですが、データベースの情報が50万件程あり、エクセルにコピー等の方法ではデータが多すぎて移行出来ません。 そこで質問なんですが、 アクセスデータベースの管理番号(10桁位の数)をエクセルのセルに管理番号を入力すると、 入力した管理番号の行の情報のみを表示出来るような方法がありますか? 宜しくお願い致します。

  • アクセスからデータをエクスポート

    アクセスについて教えてください。 アクセスで作ったフォームに入力したデータをエクセルのフォームの指定されたセルに「転送」することは可能でしょうか? たとえば、経理関係ですが、発注支払データを管理するアクセスのデータベースから抽出した任意の入力済みデータを、エクセルで作成した「支払申請書」フォームに「転送」して出力し、管理者に提出して承認をもらう、といった場合に使いたいのです。 どなたか教えてください。