「エクセル競馬予想 馬ちゃん」をデータベース作成ソフトとして利用する

【注記】2013年2月記載
このページの内容は、「エクセル競馬予想 馬ちゃん」ハイブリッド版(Ver1.07)をデータベース作成ソフトとして利用した解説になっておりました。
2011年8月より「エクセル競馬予想 馬ちゃん」ハイブリッド版(Ver1.08)にバージョンアップしておりますので、遅ればせながら2013年2月にファイル名を現バージョンに対応させました。
但し、ハイブリッド版(Ver1.08)はハイブリッド版(Ver1.07)とデータベースの構造が完全に同一ではありません。
記載内容の実際の動作を十分に確認しておりませんので、場合によって記載通りに動かない場合もありますので御注意ください。
不具合点が見つかりました場合には、その都度修正を行ってまいります。

競馬を趣味とされておられる方は自分で競馬予想ソフトを作成してみたいとお考えの方は多いようです。
競馬はギャンブルとは言っても、サイコロを振って目を当てるような単純なギャンブルではありませんので、競走馬の能力を比較する事によって的中率を上げる事が出来ます。
競馬に占い師が参加出来ないのは、占い師は全ての競走馬を対等として占う事しか出来ませんが、競馬を趣味としている人であれば過去の成績とか馬を見る事で勝てそうな馬を絞り込む事ができます。
簡単に言うと18頭の馬がレースに参加している場合、占い師は恐らく18回に1回程度しか勝ち馬を当てる事が出来ませんが、競馬を趣味としている人であれば、6〜9回に1回程度は当てる事が出来ます。
この程度の的中率では儲ける事には程遠いですが、その程度でも競馬評論家とかパドック解説者として商売をしている人が数多く居ますので、競馬に多少の知識がある事は価値がある事なのでしょう。

競馬の知識とは何かですが、常識的な事を除けばレースに参加している馬の過去の競走成績がどうだったかを知っているかどうかに尽きると思います。
レースを予想する力が占い師より勝っていたとしても何の自慢にもなりませんが、レースを予想して予想した通りのレース結果になる事は多少の爽快感を得る事は出来ます。
そして予想が的中できた場合には御褒美として配当を得る事も出来るでしょう。

競馬の現状は残念ながらほとんどの人が損をしている状況のようです。
競馬をお金儲けの手段とするのは余りにも危険であり賛成は出来ませんが、趣味としてなら成り立つのではないかと考えております。
趣味の範囲から逸脱せず、生活に潤いを与えてくれる限り、競馬は決して無益な存在とは言えないでしょう。

ここでは競馬の予想方法のソフトは御自分で作成出来るが、データベースの作成までは手が回らない方を対象としております。
「エクセル競馬予想 馬ちゃん」をデータベース作成ソフトとしてのみ利用する方法について御説明を致します。

●「エクセル競馬予想 馬ちゃん」ハイブリッド版(Ver1.08)について

「エクセル競馬予想 馬ちゃん」ハイブリッド版(Ver1.08)には以下のソフトで動作しております。
インストーラーの初期値の通りにインストールされた場合には、Cドライブの Umachan108 フォルダの中にこれらのファイルは存在します。
(1)ReadMe.txt
(2)UMACHAN108.CHM(エクセルのヘルプファイル)
(3)Umachan108.ini(環境設定ファイル)
(4)Umachan108.xls(旧バージョンのエクセル用プログラム)
(5)Umachan108.xlsm(新バージョン Excel2007、Excel2010などエクセルプログラムファイル)
(6)UMACHANDB108.CHM(データベースのヘルプファイル)
(7)UmachanDB.exe(データベースの構築およびデータ取り込みプログラム)
(8)unins000.dat(アンインストール用データファイル)
(9)unins000.exe(アンインストール用プログラムファイルで、コントーロールパネルのプログラムの追加と削除から起動させます)

インストール直後はこのようなファイル構成になっていると思います。
JRA-VANからデータの取り込みを行った後でしたら、以下のデータベースのファイルが追加されていると思います。
Umachan.mdb
Umachan_Odds.mdb
これらのファイルは、)UmachanDB.exeが自動的に作成したものです。

「エクセル競馬予想 馬ちゃん」をデータベース作成ソフトとしてのみ利用する場合に必要なのは(7)UmachanDB.exe だけです。
その他に必要なファイルは、UmachanDB.exe が全て自動的に作成します。
その他に必要なファイルとは、環境設定ファイル(Umachan.ini)と データベースファイル(Umachan.mdb,Umachan_Odds.mdb)です。
データベースを作成するには、このファイル(UmachanDB.exe)をコピーして適当なフォルダに貼り付けてください。

●UmachanDB.exe を起動する

貼り付けた UmachanDB.exe をダブルクリックして起動してください。
ここではCドライブに Umachan と言うフォルダを新規作成して、そこに UmachanDB.exe を貼り付けて起動した場合を想定します。

正常に動作した場合は、そのフォルダ内に貼り付けた UmachanDB.exe の他に Umachan.ini と Umachan.mdb ,Umachan_Odds.mdb が作成されたのが確認できると思います。

【注記】
このソフトでは、同じフォルダ内にエクセルファイルがある場合には、環境設定ファイルはエクセルファイルに対応した名称になります。
例えば、Umachan108.xlsm が同じフォルダ内にある場合は、環境設定ファイル名は Umachan.ini ではなくて Umachan108.ini になります。
これは、以前のバージョンではプログラムの上書きの防止と改ざんを禁止する目的のために、環境設定ファイルにエクセルの認証用コードを記載していたためですが、「エクセル競馬予想 馬ちゃん」ハイブリッド版(Ver1.08)では、コピープロテクトを始めとして一切の制限を解除しておりますので、自由にプログラムの変更が出来るようになりました。
(個人的にプログラムを改造して使用されるのは一向に構いませんが、改造したプログラムを他人に配布又は譲度する事は禁止しております)


その他に Odds と言うオッズを記録するサブフォルダも新規に作成されていると思います。
オッズフォルダについては他の場所でも説明しておりますので、ここでは省略します。
次に作成された Umachan.ini をダブルクリックして内容をご覧ください。
OS付属のメモ張やテキストエディターで記載内容が見える事と思います。
インストールしたソフトに付属の Umachan108.ini とほとんど同じ内容なのですが、自動的に作成された Umachan.ini には[StartProgram]と言う項目があると思います。
上から38行目あたりにあると思いますが、その項目の下にも StartProgram= と言う項目があって空白になっていると思います。
感の良い方は気づかれたと思いますが、StartProgram= の後に起動するプログラム名を記入する事で、UmachanDB.exe を起動した時に自動的に記載したプログラムを起動するようになっております。
起動するプログラムの拡張子は正しく記載する必要があります。
同じファルダ内のプログラムのみを起動しますので、プログラム名を記入するだけで起動する事が出来ます。

試しに元々のエクセルのファイル(umachan108.xlsもしくはUmachan108.xlsm)を同じフォルダ内にコピーしてから、Umachan.ini の StartProgram=Umachan108.xls (もしくはUmachan108.xlsm)にして上書き保存してから Umachan.exe を起動してみてください。
通常のソフトの拡張子は ***.exe の場合が多いと思いますが、この例のようにエクセルファイルも起動する事が出来ます。

●データベースを構築する

UmachanDB.exe を起動すると Umachan.mdb と言うデータベースは構築されましたが中身が入っておりません。
中身は JRA-VAN から取り込む事になります。(Data-Labに加入している必要があります。)
中身を取り込むためのプログラムは御自分で作成されたプログラムの中に記載していただく事になります。
その内容は、
Shell ThisWorkbook.Path & "¥UmachanDB.exe" & " setup", vbNormalFocus
の一行を記入するだけです。
半角の円マークは特殊記号になりますのでHTMLでは表現が難しいのですが、プログラムを理解出来ている方なら問題はない筈です。
この場合は最初にJRA-VANからSetupデータの取り込みを行う場合でしたが、通常データの場合なら
Shell ThisWorkbook.Path & "¥UmachanDB.exe" & " data", vbNormalFocus
のようになります。
setup や data の前に半角のスペースを入れるのを忘れないようにしてください。(UmachanDB.exeの後にスペースを入れて続けて記載されても構いません。)

エクセルVBAの場合は、ThisWorkbook.Pathですが、VBの場合はApp.path になるのはご存知の通りです。
このコードを記入する事で、JRA-VANからの取り込みのためのフォームが表示されます。
上記の内容がちんぷんかんぷんで理解出来ないようでしたら、自作のプログラムを作成するのは当分無理だろうと思います。
又、JRA-VANとかData-Labとかは何だろうと思う方に理解していただくのも難しいでしょう。

●参考プログラム

ここで説明を行うよりも、実際のソフトの作成例を見た方が理解が早いと思いますので、 ダウンロード ページに参考ソフトを用意しました。
このソフトは2008年の5月に作成したもので(2013年1月に内容を変更しました)、JRA-VANから提供されるデータをエクセルのシートに落とすだけの単純なものです。
知人から頼まれて作成したものですが、自分の使っているエクセルのソフトでは過去5走前までのデータの取り込みしかできないので、過去8走前までのデータの取り込みを出来るようにしてくれないかと言われて作成したものです。
Umachan.mdb のデータベースから過去8走前までのデータを取り込んで表示するようにエクセル画面の手直しを行いました。

レースに出走する馬の過去のレースデータをエクセルのシートに展開するだけで競馬予想の機能はありませんが、エクセルの関数の使える方であればリンクを張って競馬予想のプログラムを作成する事も容易と思います。
知人の場合は、別のエクセルでVLOOKUP関数を使用してそのエクセルのデータからデータを取り出して競馬予想を行っておりました。
その後、知人には更に改良した(1つにまとめた)別のソフトを作成しましたので、結局はお蔵入りになってしまったソフトです。
今回は参考ソフトとして公開するため、作成当時から若干のプログラムの修正を行いました。

ソフトのメンテナンスは行った事がありませんので、バグがある場合にはメールで御指摘ください。
基本的には実用プログラムとしてではなく、参考プログラムとして御覧いただきたいと思います。
当然プロテクトはかけておりません。
使用方法はエクセルに記載しておりますので、そちらを御覧ください。
このソフトを動作させた時の画面の一部を下記に示します。

参考ソフト画面

全レースの各競走馬の過去の8走前までのデータ(順位、タイム、人気、上り、コーナー位置等)が記載された出馬表を作成するプログラムと考えて良いでしょう。
レース当日には、JRA-VAN NEXTのマイニング予想やオッズ、馬体重の速報データを取り込む事も出来ます。

【注記】
制作が古いのでリアルタイムの取り込み機能を活かしたプログラムにはなっておりません。
実用プログラムとして使用するには、もう少し改良を加えた方が良いと思います。

●データベースの概要

「エクセル競馬予想 馬ちゃん」で使用しているデータベース(Umachan.mdb)の概要をご説明します。
一般的なデータベース構築ソフトとテーブル名などは一緒だと思います。
特殊なテーブル名だけを御説明します。
(1)SETUP_TIME
データベースのデータにセットアップ(Setup)に関する情報を入れております。
そのため、プログラムからの起動時に、使用されるデータベースの構築状況(最終取得年月日など)が判りますので、データベースをコピーした場合でもデータ蓄積状況に合わせた処理を行う事が出来ます。
これによって、データベースの入れ替えによるトラブルは少なくなっていると思います。
(2)KEIBAJYO
JRA-VANからはデータが提供されませんが、競馬場のデータを入れるためテーブルを作成しております。
これに各競馬場の距離別の標準タイムなどを入れて、スピード指数的な予想を行おうと考えていたのですが、全く使用しておりません。
今後も使用の予定はありませんので、スピード指数的予想を行いたい方は、このテーブルは御自由にお使いいただけます。
その他で使用していないテーブルは、レコード(RECORD)、競走馬市場取引価格(SALE)、特別レース(TOKU_RACE)、特別登録馬(TOKU)などがあります。

登録データの特徴は、コード化されたデータのほとんどを復元して実際のデータとしている点です。
それによってデータの目視が容易になる事とデータの処理時間が軽減される利点があると考えております。

登録するデータの内容も出来るだけ短くなるようにしております。
例えば、60文字分の必要スペースがあっても、提供されるデータの内容が短ければ、無駄なスペースはカットしてから記録しています。
これは、0が連続で並ぶ場合も同様で、全てが0の文字列のデータは、0が1個になるように切り詰めて登録しております。
そのようにしても、プログラムで対応処理を行えば、特に不都合は生じません。
これは、データベースの肥大化にはかなり有効で、7年間程度のデータの蓄積でも Umachan.mdb の容量は1.2GB程度に収まっております。
アクセス(Access)は、最大のファイル容量を1ファイル当たりで2GB以内に押さえないと管理できませんので有効な方法です。
データベースへのアクセス時間の点でも蓄積するデータの長さは短い方が有利です。

[戻る]