![](https://kabudata-dll.com/wp-content/uploads/2022/12/Accessアイキャッチ.jpg)
あわせて読みたい
![](data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==)
![](https://kabudata-dll.com/wp-content/uploads/2022/12/Accessアイキャッチ-300x158.jpg)
【Access㉓-1】お気に入りの銘柄のリストを作る(前編)
いくつかの銘柄の登録しておけるウォッチリストを作成したいと思います。ウォッチリストの機能としては銘柄の追加・削除と最新の情報に更新する必要があります。さらに…
目次
ウォッチリストの情報を最新に更新する(更新クエリ)
テキストボックスを配置する
![](https://kabudata-dll.com/wp-content/uploads/2022/07/image-181.png)
まずはテキストボックスを一つ配置します。ここで日付を指定します。
ウォッチリストの情報を更新する際に、何日の情報を適用するか指定するためです。
![](https://kabudata-dll.com/wp-content/uploads/2022/07/image-182.png)
プロパティシートで、規定値を[=Date()]としておけば、自動で当日の日付が表示されます。
更新クエリを作成する
![](https://kabudata-dll.com/wp-content/uploads/2022/07/image-183.png)
クエリのデザインビューで、テーブルを二つ表示させます。銘柄コードで結合させます。
①の銘柄コードでクリックし、そのまま②の銘柄コードまでドラッグします。線でつながればとりあえずOKです
![](https://kabudata-dll.com/wp-content/uploads/2022/07/image-184.png)
線の上で右クリックして、結合のプロパティを変更します
![](https://kabudata-dll.com/wp-content/uploads/2022/07/image-185.png)
ウォッチリストテーブルの全レコードと、元の株価データテーブルの同じ結合フィールドのレコードだけを含めるように設定します。
![](https://kabudata-dll.com/wp-content/uploads/2022/07/image-186.png)
ただの直線だったものが、矢印に変化します
![](https://kabudata-dll.com/wp-content/uploads/2022/07/image-187.png)
クエリを更新クエリに変更します
- リボンの[クエリデザイン]をクリックします
- [更新]を選択します
![](https://kabudata-dll.com/wp-content/uploads/2022/07/image-190-1024x472.png)
- 左側のウォッチリストテーブルから、[現在日付]をダブルクリックし、クエリのフィールドに追加します。
- 左側のウォッチリストテーブルから、[現在値]をダブルクリックし、クエリのフィールドに追加します。
- 右クリックのビルドから、Format関数と、株価テーブルの[現在日付]を指定します。
- レコードの更新欄を右クリックし、ビルダーを開くか、直接入力します。上のサンプルでは株価データの[現在日付]のデータを適用するように設定しています。※ついでにFormat関数を使用し、日付型に変換しています。
- レコードの更新欄を右クリックし、ビルダーを開くか、直接入力します。上のサンプルでは株価データの[終値]のデータを適用するように設定しています。
コマンドボタンを配置する
ウォッチリストのメインフォームにコマンドボタンを設置します
![](https://kabudata-dll.com/wp-content/uploads/2022/07/image-192-1024x539.png)
- リボンの[フォームデザイン]から[コマンドボタン]を選択して、フォームの任意の場所をクリックします。
- ウィザードは無視して、[完了]で終わらせます。(後でVBAを記述します)
![](https://kabudata-dll.com/wp-content/uploads/2022/07/image-189.png)
コマンドボタンの[プロパティシート]の[クリック時]を、[イベントプロシージャ]に変更します。
VBAを追加する
![](https://kabudata-dll.com/wp-content/uploads/2022/07/image-193.png)
VBA
Private Sub コマンド10_Click()
DoCmd.SetWarnings False 'システムメッセージを表示しない
DoCmd.OpenQuery "(任意のクエリ名)" '更新クエリを実行
DoCmd.Requery "(サブフォーム名)" 'サブフォームを再クエリ(再描画)
End Sub
実行テスト
更新クエリ実行前
![](https://kabudata-dll.com/wp-content/uploads/2022/07/image-194-1024x285.png)
更新クエリ実行後
![](https://kabudata-dll.com/wp-content/uploads/2022/07/image-195-1024x282.png)
メインフォームの基準日で設定した日付の株価が反映されました。保有数に応じて右側の損益も計算されています。(平均取得単価が\0ですので、正確ではありませんが)
当サイトについて
当サイトでは日々の株価データを無料で配布しています。株価分析はもちろんAccessのサンプルデータとしても最適ですので、是非ご活用ください。
Invest edge