競馬成績表データベースを作る(ツール-Excel編)
1.概要 競馬成績表データベースを作るの第四弾です。これまで、作成したデータベースを活用するためには、検索表示などができないと 何の役にも立ちません。今回は、Excel VBAで作成します。当ブログ記事の 「Excelでデータベース(SQLite3)を扱う」 で紹介しているテンプレートとなるソースコードを元にして、検索部分とデータ出力機能を追加しデータが抽出できるようにしたものです。 データベースをしっかり作成していれば、競馬以外の他の用途でも、いろいろと応用の効くものとすることができます。 2.ソースコード まずは、簡単に操作方法を説明します。 Yahoo競馬レース成績表検索.xlsm を起動します。 検索条件のコンボボックスで「競馬場」、「距離」、「コース」の3つの条件を選択して、実行ボタンをクリックします。 抽出対象データがあれば、100件/1ページ単位にデータが表示されます。ページ制御をしていますので、「次ページ」、 「前ページ」、「先頭」、「最終」のボタンをクリックしてページを表示させます。 また、「出力」ボタンをクリックすると、CSV形式で抽出したデータを外部出力できます。「消去」ボタンは、 画面上のデータを強制的に消去するものです。新たな条件で「実行」ボタンをクリックすれば、前処理として 消去(画面クリア)させていますので、通常は操作不要です。尚、 Yahoo競馬レース成績表検索.xlsm の実行には、 SQLite の ODBC とこのプログラムで利用する データベース(pegasus.db) が 必要 ですので事前に準備しておいて下さい。 ThisWorkbook は、ブックを開いた時の初期設定処理をしています。検索条件設定用のコンボボックスに値をセットします。 '***** ブックを開いた時の初期設定処理 ***** Private Sub Workbook_Open() Sheets("成績表").Select Worksheets("成績表").Activate '***** 検索条件用のコンボボックスを設定 ***** ' 競馬場 Dim CBRaceKaisai(10) CBRac