こんばんは。
Access2019にてアプリを作成して、ランタイム環境にACCDEファイルをコピーして動作させようと思っています。
ログイン画面にて所属部署を選択するコンボボックスがあり、テーブルにある各部署の表示日(開始日・終了日)とシステム日付を判断して部署名を表示するようにしています。
コンボボックスの値集合ソースには
SELECT M_部署マスタ.部署CD, M_部署マスタ.部署名 FROM M_部署マスタ WHERE (((M_部署マスタ.部署CD) <= "05") AND ((M_部署マスタ.開始日) <= Date()) AND ((M_部署マスタ.終了日) >= Date())) ORDER BY M_部署マスタ.部署CD;
SELECT
M_部署マスタ.部署CD,
M_部署マスタ.部署名
FROM
M_部署マスタ
WHERE
(((M_部署マスタ.部署CD) <= "05") AND ((M_部署マスタ.開始日) <= Date()) AND ((M_部署マスタ.終了日) >= Date()))
ORDER BY
M_部署マスタ.部署CD;
を設定しています。
Acces本体の開発環境では、問題無く動作して、テーブルの開始日を先日付にすると表示されなくなるし、終了日を過去日付にすると表示されなくなります。
しかし、ランタイム環境でコンボボックスの▼をクリックすると「クエリ式 ○○○の関数は式では使用できません」と表示されます。
(○○○の部分にはwhere句が表示されます)
色々と試した結果、フォームを開いた時にテキストボックスに日付をセットして、「(M_部署マスタ.開始日) <= テキストボックス」とすれば正常動作したので「Date()」が原因と思われます。
しかし、日付によってコンボボックスの表示内容を切り替える事を多用しているため、システム日付をセットしたテキストボックスを使わずに抽出できる方法をご存じの方、いらっしゃればご教授お願いします。
部署CD | 部署名 | 開始日 | 終了日 |
---|---|---|---|
01 | 総務部 | 2000/01/01 | 2100/12/31 |
02 | 人事部 | 2000/01/01 | 2100/12/31 |
03 | 経理部 | 2000/01/01 | 2100/12/31 |
04 | 財務部 | 2000/01/01 | 2020/03/31 |
05 | 営業部 | 2000/01/01 | 2100/12/31 |
06 | A支店 | 2000/01/01 | 2100/12/31 |
07 | B支店 | 2000/01/01 | 2100/12/31 |
※日付フィールドはテキスト10文字で設定しています。
開発環境
OS:Windows10 pro
アプリ:Access2019
動作環境
OS:Windows10 pro
アプリ:Accessランタイム
----- 2021.01.26追記 -----
Access2010で作られた既存システム(ランタイム&acced)では、同様のことが問題無く動作しています。
アドバイスをいただいた参照設定の違いを確認したところ、「Microsoft Windows Common Control」の参照設定が無いことに気付きました。
しかし、一覧を探した限りでは見当たりません。 これは別途ダウンロードしてインストールする必要があるのでしょうか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/01/25 23:26
2021/01/26 00:03
2021/01/26 00:39
2021/01/27 05:50