「平成」を感じるもの

 アクセスの勉強をするため、チャレンジしたいことがあります。ご教示お願いします。
 例として、教えてgooのカテゴリの中で、「マイクロソフト」カテゴリにある質問者の最多質問時間帯を調べるため、そのデータを自動的に取得する方法を身につけたいのです。

 例えば、教えてgooのカテゴリで、「マイクロソフト」を開くと、"http://oshiete1.goo.ne.jp/oshiete.php3?c=232"とアドレスに表示されます。過去の質問の頁は、"http://oshiete1.goo.ne.jp/oshiete.php3?start=X&pt=0&c=232"と、URL中のXの部分の数値が10ずつ増加します。
 無作為にデータを収集するために、テーブルに10~20260までの下二桁単位でアトランダムな数値を入れた列を作り、右列に対応するURLアドレスが記載された表を作成しました。
 フォームを作成し、ウェブブラウザにより上記テーブルのURLから探させることを考えたのですが、頁を次々に開いて目的のデータを採集するやり方が分かりません。
 そこで質問です。
 上記表のURLを探し出して、日時データを収集するためには、どのようなフォームを設計し、プログラムを作成するとよろしいのでしょうか。
 当方の環境は、アクセス2002、Win2000です。

A 回答 (3件)

1.URLを保存しているテーブルをオープンし読み込む


2.テーブルの最後までループする Do命令
ループの中で
3.今読んだレコードのURLよりIEデータを得る(Navigate)
4.目的の日付と時間を得る
5.次のレコードを読む(MoveNext)

べたで書くとこんな感じです。
プログラミングの基本のところですけど
まず、自分でやりたいことをこういうように
順番に書いてみて頭の中を整理すると
やりたいことがすっきり見えてくるよ。

これをコードで書いてっていうのは時間的に
無理なのでご自身で調べるか、他の方に譲ります。
では、頑張ってください

この回答への補足

 できました。捕捉の場を借りて、お礼を申し上げます。
 New InternetExplorerで.Navigate (rs!URL)で読み込み、キーワードをfilter関数で抽出、余計な記号等を抜き、データの形に修飾して抜き出すことができました。
 .AddNew、.Updateでデータを他のテーブルレコードに挿入することができました。
 Do loopよりも、参照テーブルの最終行(EOF)を探して行数を数え、For nextで最終行までの回数分を処理する方が処理が早かったので、改造しました。また、4つ平行して処理できるプロシージャを考えました。
 一番悩んだのは、得られたデータ(変数)を、どのようにして効率的に次のプロシージャに渡せるかでした。
 いろいろと勉強になりました。いきなり使い道が広がりそうです。
 お礼のご挨拶まで

補足日時:2003/12/08 15:55
    • good
    • 0
この回答へのお礼

 作り方の流れをアドバイス下さりありがとうございます。
 これをとっかかりに勉強してみたく思います。

 本ご回答が寄せられるまで、URLが一つの場合で処理3→4について色々試していました。
 エクセルだと処理を進められるのですが、アクセスでやってみても、Document.body.innerTextではデータが全部くっついたもの、Document.body.innerHTMLでは行の最初の列しか得られないので難儀しています。Document.body.allでは欲しくない情報まで取り込んでしまいました。

お礼日時:2003/11/27 16:20

あ、ごめんなさい、同じ人だったのですね。


お名前確認しませんでした。

「URLから次々とデータを収集し」ってのは
前述のやり方をその回数分だけ、やればいいと思います。

この回答への補足

 >その回数分だけやれば・・・
 次のURLをマクロに渡すやり方を伺っております。

補足日時:2003/11/27 09:14
    • good
    • 0
この回答へのお礼

 できました。
 New InternetExplorerで.Navigate (rs!URL)で読み込み、キーワードをfilter関数で抽出、余計な記号等を抜き、データの形に修飾して抜き出すことができました。
 .AddNew、.Updateでデータを他のテーブルレコードに挿入することができました。
 Do loopよりも、参照テーブルの最終行(EOF)を探して行数を数え、For nextで最終行までの回数分を処理する方が処理が早かったので、改造しました。また、4つの処理を平行して処理できるプロシージャを考えました。
 一番悩んでいたのは、得られたデータ(変数)を、どのようにして効率的に次のプロシージャに渡せるかでした。Option Compare Databaseに置けばよかったのですね。
 いろいろと勉強になりました。いきなり使い道が広がりそうです。
 お礼のご挨拶まで

お礼日時:2003/12/08 16:19

別件で私が答えてるんだけど、


参考にならないでしょうか。

参考URL:http://oshiete1.goo.ne.jp/kotaeru.php3?q=707983

この回答への補足

 たびたびお世話になっております。
 前回の回答で、特定のURLからキーワードを使ってデータのある行を取り込む技についてありがとうございました。参考になりました。
 今回は、前回、無知であることから質問範囲が広すぎた点、イメージが漠然としていた点を反省し、具体的な例を出すことで問い合わせ項目を理解してもらいたいことと、問い合わせ対象を限定して質問した方がいいかと考え、前回の質問を締め切っておりませんでしたが、勉強させていただきたい気持ちで、改めて質問させていただきました。
 また、前回の質問が本カテゴリでは後に追いやられてしまうことから、これ以上の回答が望めないだろうと思ったことも理由です。
 今回はいくつもあるURLから次々とデータを収集し、そのデータをテーブルに格納することを勉強したく思います。
 つきましてはそれについて、ご教示賜ることができれば幸いです。

補足日時:2003/11/26 19:46
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報