目次AceessVBAを使い順位付け、昇順・降順に並べ替える競馬データを扱っているとスクレイピングで取った数値データをある項目で並べ替えたりすることがデータ分析を行う上で、必須になってくる。初めから用意しておけば良いとは思うがその項目を実際に使うまでは、順位付けが必要かどうか?は判断できない。❣この記事を読むと、VBAでテーブルのある数値項目の順位をつけるモジュール(VBA)が作成できる。これを更新クエリーだけでやると、少なくとも5つほど作成しなければいけない。Key項目で並べ替えて、SEQ.を付けるといった場合に重宝する雛形モジュールになる。今回のサンプルは前走上り順データを作成するモジュールこれは今日データ分析するのに作成したばかりの出来立てホヤホヤなので、ここで晒しておく!内容に不備がある場合は、ご自身で修正してお使い下さいませ。Function※前回使用した複勝順作成を再利用してモジュールを作成。前走上り順データを作成するモジュールの補足説明を【ChatGPT】にお願いすると...ChatGPT(Bing)上のAccessVBAが何をしているのか補足説明をして下さいこのEXCELVBAは、WK_DTというテーブルから開催日、場名、R、推定上り、推定上り順のデータを取得し、推定上り順を連番に更新する関数です。以下に補足説明をします。strSQLという変数にSQL文を代入します。このSQL文は、推定上りが0より大きいレコードを開催日、場名、R、推定上りの順に並べて取得するものです。次に、dbという変数にカレントデータベースを代入し、rstという変数にレコードセットを開きます。レコードセットとは、データベースから取得したデータの集合です。RAgariRenbanという関数の戻り値をFalseに設定します。これは、関数が正常に終了したかどうかを示すものです。レコードセットが空だった場合は、関数を終了します。iという変数に1を代入します。これは、レコードセットのインデックスを表します。レコードセットの最後まで繰り返し処理を行います。その中で以下の処理を行います。レコードセットを編集モードにします。BL_SEQという変数にレコードセットの各フィールドの値を代入します。これらの変数は、前回のレコードの値を保持するものです。BL_SEQは推定上り順の値で、1から始まります。nという変数に0を代入します。これは、同じ推定上りのレコードが何件あったかをカウントするものです。iが1でない場合は、ブレイクキーとして開催日、場名、Rの値が前回のレコードと同じかどうか判定します。同じ場合は以下の処理を行います。推定上りの値が前回のレコードと同じかどうか判定します。同じ場合は推定上り順にBL_SEQの値を代入し、nを1増やします。これは、同じ推定上り順であることを示すためです。推定上りの値が前回のレコードと異なる場合はBL_SEQにnを足して1増やし、推定上り順に代入します。これは、次の推定上り順であることを示すためです。BL_AGARIに現在のレコードの推定上りの値を代入し、nを0にリセットします。開催日、場名、Rの値が前回のレコードと異なる場合は以下の処理を行います。BL_AGARIという変数に現在のレコードの各フィールドの値を代入します。BL_SEQに1を代入し、推定上り順に代入します。これは、新しいブレイクキーであることを示すためです。nを0にリセットします。レコードセットに変更を保存します。iを1増やし、次のレコードへ移動します。レコードセットを閉じます。RAgariRenbanという関数の戻り値をTrueに設定します。これは、関数が正常に終了したことを示すものです。以上がこのAccessVBAが何をしているか補足説明したものです。ご参考になれば幸いです。「前走上り順」項目をテーブルに追加して、その順番を更新するAccessマクロ抜粋!※サブマクロを書き換えれば、データ更新の雛形としてこれを流用すれば手順のミス(人的エラー)は激減する。リファレンス索引AccessVBAではなく「Accessマクロの専門書」としてはコレしか見たことがない!個人でデータ加工するなら、Excelの弱点である大量データの更新や一括更新は、Accessで操作した方が正確で素早く加工できるが、皆様あまり使わない。GUIでSQL発行をするので、Accessクエリを勉強するとSQL文も同時に習得できるといった特典付きでも誰もやらないのは、私からすると未だに謎だよwAmazonレビューは★4.2私のKindle-Unlimited評価は★4.5データ分析してみた結果は・・・?特別に何かプラスが出るようなことは発見出来なかった。コーナー順を調べた方が何かありそうな雰囲気はあるな~と感じた昨日から今日の2日間であった。前走上り1番手の分析データのサンプル前走上り順1サンプルデータ:Accessのテーブル編集後記AccessマクロとAccessVBAは全く違うもの(Excelは一応マクロ=ExcelVBA...)先にExcelから言うと、厳密にはExcelにも昔からマクロ機能は備わっているが、あまりに誰も使わないので埋もれてしまい世間的には、「ExcelVBA=Excelマクロ」ということになっている。F11」で表示されるVBEでの記述での運用しかない。したがってExcelの場合はExcelVBAもExcelマクロも同じExcelVBAを指す。AccessVBAとAccessマクロは全く違うものを指すので、注意が必要...ただこちらもほぼAccessVBAしか使われていないのが現状。最近ではAccessそのものがあまり使われていないと思われる。2024.1.24時点では、まだまだ使った方が大幅な時短になるツールであることは確か!ショートカットキーを覚えても単発の作業は多少速くなるとしても、単純で大量作業をプログラミングする方が圧倒的に現場では多いので、これを個人業務に落として処理する方が時短にもなるし、勉強にもなる。リファレンス索引AccessVBAではなく「Accessマクロの専門書」としてはコレしか見たことがない!個人でデータ加工するなら、Excelの弱点である大量データの更新や一括更新は、Accessで操作した方が正確で素早く加工できるが、皆様あまり使わない。