三流君 ken3のmemo置き場

三流プログラマーのメモ書きです。主にVBAやWindowsの話題が多いです

挨拶・自己紹介:
失敗続きのAB型の変わり者 :三流プログラマー Ken3です
フリーのエンジニア・個人事業主です・・と書くと聞こえはイイが(それとなくカッコよく聞こえるが)、 現在は小さな案件の受注請負 と 短期派遣 で 日々つつましく?ほそぼそと暮らしてます。
Ken3三流君の連絡先:
[google formsで連絡する]
上記の問い合わせフォームに質問・感想など気軽に書き込んでください

よく検索されるキーワード: [質問回答XXXXさんへ] [CreateObject] [VBA] [JRA競馬オッズ]

Access レコードソースで定数を使いたかったので 標準モジュールで固定の値を返す関数 Function を作り、定数・パラメーターっぽく使う

フォームのレコードソースで標準モジュールに書いた値(定数)を使いたかった、そんなお話です。

QAサイトで回答し恥を残す・・・
質問元は
https://teratail.com/questions/9v56md6ntxp3dz
で回答してみました。またまた、浮気して・・・
※他の回答やコメントも参考にしてください。

下記テストした動画です
https://youtu.be/NODTLXMyasA?t=31
↑暇な時に見て、だめっぷりを笑ってください・・・

SELECT [テーブル1].ID, [テーブル1].DATA FROM テーブル1
WHERE ((([テーブル1].ID) between startid() and endid() ));

between startid() and endid() みたいに、関数で値を返すようにして、
少し小細工してみました。

先輩や上司に怒られそうな修正案だけど、

Option Compare Database
Option Explicit

'Public Const startid As Integer = 2  'コメントアウト
'Public Const endid As Integer = 4    'コメントアウト

Public Function startid() As Integer
    startid = 2  '固定で返す
End Function

Public Function endid() As Integer
    endid = 4  '固定で返す
End Function

と、
Function startid() で2を返す
Function endid() で4を返す
だけの関数を作成して、

使うときは、

SELECT [テーブル1].ID, [テーブル1].DATA FROM テーブル1
WHERE ((([テーブル1].ID) between startid() and endid() ));

で使う。
SQL内の条件で関数を呼ぶと、遅くなったりするけど、まぁいっか。
 そんなに件数無ければ、、、

動画、作成中に思いついたのが、※たいして変更していませんが
頭のConst startid As Integer = 2などを残して、

Option Compare Database
Option Explicit

Public Const startid As Integer = 2
Public Const endid As Integer = 5

Public Function get_startid() As Integer
    get_startid = startid  '上で定義した Const startid を返す
End Function

Public Function get_endid() As Integer
    get_endid = endid  '上で定義した Const endid を返す
End Function

みたいにして、
レコードソースで
SELECT [テーブル1].ID, [テーブル1].DATA FROM テーブル1 WHERE ((([テーブル1].ID) between get_startid() and get_endid() ));

※get_XXXXX 経由で Const XXXXX を返し、クエリやレコードソースで使ってみてください


下記テストした動画です
youtu.be
https://youtu.be/NODTLXMyasA?t=31
↑暇な時に見て、だめっぷりを笑ってください・・・

もっと、スマートに書けそうな気もしますが、ヒントとなれば幸いです。
※ど外し回答な気もしつつ・・・


質問・感想・クレームなど、
気軽にコメント欄に書いてもらえるとうれしいです。

[Googleフォームにコメントを残す]
↑質問・コメントの入力フォームです、気軽に書いてください


フッター:最後にKen3Videoの動画一覧を紹介します

YouTubeにアップした動画です。他の動画を一瞬でも見てもらえるとさらに嬉しいです。
再生リスト:[三流君Ken3の最新動画]←リストの一覧形式で表示する


また、ブログを見に来てくださいね。ではまたぁ~