No.2ベストアンサー
- 回答日時:
DAOはMSのデータ(ベース)にアクセスするインターフェイスを提供するオブジェクト(プログラム・ライブラリ。
VB用やC用もある。)である。主に使うのは、データベースエンジンといわれるものであろう。DAOがアクセスを操作すると言う表現でなく、DAOが「アクセスが採用しているデータベース」をアクセスするとき使えるものである。同じく「>EXCELをDAOで操作する」と言う表現はおかしいと思う。なぜなら
エクセルは(1)ディスクに保存されているときのファイル形式と(2)メモリに展開されて動いているメモリ上の形式とは違うし、(3)Vierwerとしての役割で、シートを画面に見せているはたらきも違うはず。
DAOは対象とするのは、データベースファイルであって(1)の部類のもののはずだが、エクセルの(書式や計算式やその他も含まれている特殊独自の形式の)(1)は直接対象としていないはず。
アクセスのMDB形式のような、テキスト的な(?)データファイルを対象としているはず。したがってエクセルよりアクセスに一旦エクスポートして、それを対象にしてDAOを使ってアクセスしたり、加工するということになるはず。
下記は参考になりませんか。
http://www.asahi-net.or.jp/~EI7M-WKT/kakcyo09.htm
http://www.asahi-net.or.jp/~EI7M-WKT/kakcyo10.htm
http://www.asahi-net.or.jp/~EI7M-WKT/kakcyo11.htm
http://www.cs.reitaku-u.ac.jp/~ykago/db_a_2000/d …
http://hp.vector.co.jp/authors/VA021122/vb/dao.h …
回答ありがとうございました。
何だか、表現がおかしかったみたいで申し訳ないです。丁寧に解説していただいてありがとうございました。
やはりMDBに一旦エクスポートしてから操作するみたいですね…。EXCELを直接操作することってできないのでしょうか?
URL参考になりそうです!ありがとうございました。
No.7
- 回答日時:
エクセルのアドインでMSQUERYと言うのがあります。
あまり本にも(WEBにも)出てきませんが、WEB照会してみてください。
http://www1.neweb.ne.jp/wa/arc/vb/QRY/QRY2.html
など。
これ(MSQUERY)など何かのヒントになりませんでしょうか。
見当はずれでしたら、お許し下さい。マクロの記録が取れるかな、もし取れれば一般化する修正が出来て、自分で組むより、記述が簡略になると予想しますが。
No.6
- 回答日時:
肝心なことを書くのを忘れてしまいました。
>すみません、よろしければ"ODBドライバの設定","ユーザDNS","システムDNS"をもう少し詳しく教えてもらえませんか?
>どうやって作成するかだけでもわかれば嬉しいのですが…。
http://www.geocities.co.jp/SiliconValley-PaloAlt …
をどうぞ。
ただ、OSがWin2000やXPだとコントロールパネルの管理ツールの中になります。
あと、WindowsやOfficeのバージョン(正確にはMDACのバージョン)などにより、「ODBC」となっていたり、「データソース(ODBC)」となっていたりしますが、どれも一緒です。
データソースの作り方ってことですと、こちらも参考になるかな?
http://www5.ocn.ne.jp/~fishbird/php4/odbc/
参考URL:http://www.geocities.co.jp/SiliconValley-PaloAlt …
お礼が遅くなりました。回答ありがとうございます。
設定のしかたよくわかりました!
補足説明など親切でとても嬉しかったです。参考にします。
No.5
- 回答日時:
ryuji0202さんの質問とずれてきちゃってますが。
>>VB用とC用の区別はありません
>http://www.ipl.co.jp/private/~kono/dao.html
>のような例も載っていますが。VBA使う上で使うのと
>くらべ、コーディング上で全く同じとは言えないのでは
>ないでしょうか。
このサンプルは純粋なC++のDAOのサンプルではありません。
MFCが提供している、DAOをさらにラップしたクラスを使ったものです。
DAO自体はActiveXオブジェクトなので、C++でもVBでも一緒です。
そもそも、ActiveXは言語に依存するものではありません。
#ADOのサンプルなら結構出てくるんですが、DAOは出てきませんでしたので。
言語の性質上、VBAではValueプロパティなどの省略可能なプロパティも明示的に記述する必要は出てきますが。
No.4
- 回答日時:
#2です。
#3でご指摘の誤りがあるようで済みません。>「DAOはMSの」の個所は直後のMS社製のデータベースに限るように取れますね。ORACLEなどのデータベースにも接続出きるので、そう取られるので、不適当です。「MS社製であって」の積もりでした。済みません。
>VB用とC用の区別はありません
http://www.ipl.co.jp/private/~kono/dao.html
のような例も載っていますが。VBA使う上で使うのとくらべ、コーディング上で全く同じとは言えないのではないでしょうか。
No.3
- 回答日時:
xlsファイルを操作するためのODBCドライバは標準で入っているので、それを利用してDAO経由で操作可能です。
xlsファイルの選択は、ODBCドライバの設定で行います。
ユーザDSN、またはシステムDSNでDSNを作成すれば、あとは、他のDBと同じように扱うことが出来たはずです。
>DAOはMSのデータ(ベース)にアクセスするインターフェイスを
>提供するオブジェクト(プログラム・ライブラリ。VB用やC用もある。)である。
DAO自体は、MicrosoftのDBだけにアクセスするものではありません。
他社のRDB、ISAM、テキストデータなどに対して共通のアクセス方法を提供するミドルウェアです。
DAOにVB用とC用の区別はありません。
回答ありがとうございます!!
すみません、よろしければ"ODBドライバの設定","ユーザDNS","システムDNS"をもう少し詳しく教えてもらえませんか?
どうやって作成するかだけでもわかれば嬉しいのですが…。
本当に知識がなくて申し訳ないです…。
No.1
- 回答日時:
全然参考になるかどうかわかりませんし、
もし実現できたとしても良い案と言えるかどうかわかりませんが、
ひとつの方法として書き込みをします。
MDBにEXCELリンクでリンクテーブルを作ります。
そのMDBファイルに対して、DAOでつなぐのはどうでしょうか?
あんまり良いアドバイスとは言えませんが、
ひとつの案として。。。ヘンなアドバイスですみません。
アドバイスありがとうございます!
今このEXCEL操作でやりたいことが2つあって、1つは環境にACCESSもEXCELもある状態でもうひとつは環境にEXCELしかない状態のものです。
前者にたいしてアドバイスいただいたこと試してみたいと思います。
ありがとうございました!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excelから複数のWordファイルを操作する方法について教えて頂きたい。 やりたいことは、複数のW 2 2022/07/26 20:11
- Excel(エクセル) Excelで数式を壊してしまった時など誤操作をしてしまった際のために別の名前でファイルをコピーしてお 1 2023/08/18 23:07
- Excel(エクセル) Excel操作について。 社内で一つのExcelファイルを4人合計4台のpcで共有して仕事をしていま 2 2022/05/31 07:35
- その他(Microsoft Office) WordやExcelについての質問です。先日姉から授業で使うという理由でパソコンを借りました。そして 3 2022/06/20 15:32
- Evernote 古いindows365の自動保存 1 2023/05/22 16:39
- その他(ブラウザ) Excel VBA seleniumのedge操作について 業務上、分からないことがございまして、先 1 2022/06/20 16:59
- Windows 10 【パソコン カラーフィルターができない 】 パソコンは、富士通。Windows10を使っています ネ 1 2022/04/10 10:38
- アルバイト・パート 自宅で出来る安心安全なアルバイトについて 5 2022/11/17 10:22
- Windows 10 ファイルエクスプローラーでフォルダを閉じる操作について 2 2022/10/15 11:06
- Excel(エクセル) ユーチューブのミニプレーヤーを固定することはできますか? 2 2022/11/21 05:45
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・「みんな教えて! 選手権!!」開催のお知らせ
- ・漫画をレンタルでお得に読める!
- ・【選手権お題その2】この漫画の2コマ目を考えてください
- ・2024年に成し遂げたこと
- ・3分あったら何をしますか?
- ・何歳が一番楽しかった?
- ・治せない「クセ」を教えてください
- ・【大喜利】看板の文字を埋めてください
- ・【大喜利】【投稿~12/17】 ありそうだけど絶対に無いことわざ
- ・【選手権お題その1】これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
- ・【穴埋めお題】恐竜の新説
- ・我がまちの「給食」自慢を聞かせてっ!
- ・冬の健康法を教えて!
- ・一番好きな「クリスマスソング」は?
- ・集合写真、どこに映る?
- ・自分の通っていた小学校のあるある
- ・フォントについて教えてください!
- ・これが怖いの自分だけ?というものありますか?
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・10代と話して驚いたこと
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【Excel】[Expression.Error] ...
-
Batch: フォルダ内の特定のファ...
-
VBAでCSVファイルが使用中かど...
-
batファイル、コマンドプロンプ...
-
excelを共有ファイルにすると行...
-
特定のエクセルファイルを起動...
-
AccessVBAで作成したExcelファ...
-
(Excelマクロ)datファイルをエ...
-
tmpファイル なぜできる?削除...
-
特定のフォルダに入れたファイ...
-
共有フォルダに誰が何にアクセ...
-
【アクセス】「ほかのユーザー...
-
WEBクエリが使えない場合のHPデ...
-
Excel VBA 処理後データが重た...
-
JSONファイルの置き場所について
-
mdbファイル フォームを開くと...
-
AccessにリンクさせたExcelファ...
-
月が変わったら自動でシートが...
-
大量のCSVデータを行列の変換を...
-
access関数を説明できる方いま...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【Excel】[Expression.Error] ...
-
共有フォルダに誰が何にアクセ...
-
XMLデータを変換し印刷する方法
-
特定のエクセルファイルを起動...
-
Batch: フォルダ内の特定のファ...
-
VBAでCSVファイルが使用中かど...
-
AccessVBAで作成したExcelファ...
-
Access VBA を利用して、フォル...
-
(Excelマクロ)datファイルをエ...
-
月が変わったら自動でシートが...
-
Excel VBA 処理後データが重た...
-
大量のCSVデータを行列の変換を...
-
ファイルの途中に文字列を挿入
-
excelを共有ファイルにすると行...
-
【アクセス】「ほかのユーザー...
-
WEBクエリが使えない場合のHPデ...
-
tmpファイル なぜできる?削除...
-
mdbファイル フォームを開くと...
-
社内Excel共有ブックでの保存ト...
-
batファイル、コマンドプロンプ...
おすすめ情報