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で質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・【大喜利】【投稿~1/31】『寿司』がテーマの本のタイトル
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・【大喜利】【投稿~1/20】 追い込まれた犯人が咄嗟に言った一言とは?
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・【大喜利】【投稿~1/9】 忍者がやってるYouTubeが炎上してしまった理由
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【Excel】[Expression.Error] ...
-
共有フォルダに誰が何にアクセ...
-
Batch: フォルダ内の特定のファ...
-
特定のエクセルファイルを起動...
-
社内Excel共有ブックでの保存ト...
-
Access VBA を利用して、フォル...
-
excelを共有ファイルにすると行...
-
AccessVBAで作成したExcelファ...
-
ACCESS リンクテーブルのEXCEL...
-
VBAでCSVファイルが使用中かど...
-
拡張子が「cda」のファイルを聞...
-
【アクセス】「ほかのユーザー...
-
月が変わったら自動でシートが...
-
Excel VBA 処理後データが重た...
-
ファイルを開いたことを検知したい
-
ファイルの途中に文字列を挿入
-
(Excelマクロ)datファイルをエ...
-
mdbファイル フォームを開くと...
-
アクセス2010の共有ファイルの...
-
特定のフォルダに入れたファイ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【Excel】[Expression.Error] ...
-
特定のエクセルファイルを起動...
-
共有フォルダに誰が何にアクセ...
-
Batch: フォルダ内の特定のファ...
-
VBAでCSVファイルが使用中かど...
-
AccessVBAで作成したExcelファ...
-
(Excelマクロ)datファイルをエ...
-
excelを共有ファイルにすると行...
-
月が変わったら自動でシートが...
-
batファイル、コマンドプロンプ...
-
Excel VBA 処理後データが重た...
-
XMLデータを変換し印刷する方法
-
Access VBA を利用して、フォル...
-
【アクセス】「ほかのユーザー...
-
特定のフォルダに入れたファイ...
-
WEBクエリが使えない場合のHPデ...
-
ファイルの途中に文字列を挿入
-
tmpファイル なぜできる?削除...
-
大量のCSVデータを行列の変換を...
-
社内Excel共有ブックでの保存ト...
おすすめ情報