Access (VBA)

Access VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 7全般 : 指定なし)
ACCESSの読み込み不良?!
投稿日時: 18/09/14 14:37:45
投稿者: sayurisu

原因不明で困っています。ネットで検索しても仕方が悪いのかピンと来る答えがヒットしません。
分かる方がいらっしゃったら教えてください。
 
ACCESSを起動させるとフォーム【F】電気作業日報が立ち上がるように設定してあります。
このフォームヘッダーに抽出できるテキストボックスを作ってあり、入力して抽出しようとすると
『パラメータの入力】のインプット画面が出てきて、クエリで作成したフィルタの条件
(例えば・・・
 抽出1というテキストボックスに入力した時に、Forms![フォーム名]!抽出1 という
 パラメーター)が表示されます。
 
また、マクロを組み込んでいるボタンをクリックすると
【イベントプロパティに指定した式 クリック時でエラーが発生しました。
 オブジェクトまたはクラスがこのイベントセットをサポートしていません。』と表示され、
マクロが実行になりません。
 
今、コレを回避する方法は、
@フォームをデザインビューで開く
Aプロパティシートからレコードソースの...をクリックして元になっているクエリを開く
BAで開いたクエリを閉じて、フォームのフォームビューで開き直す
を行うと通常通り動きます。
 
コレを考えると元データの読込が上手く行えてないだけのように感じますが、
毎回この作業をするのが面倒でなりません。
 
何故、このような現象が起きるのか。対処法はあるのか。
分かる方がいらっしゃったら教えてください。
宜しくお願いします。
 
 

回答
投稿日時: 18/09/14 15:40:33
投稿者: sk

引用:
Windows 7全般 : 指定なし

その環境にインストールされている Access のバージョンを
(全て)明記されることをお奨めします。
 
引用:
また、マクロを組み込んでいるボタンをクリックすると
イベントプロパティに指定した式 クリック時でエラーが発生しました。
 オブジェクトまたはクラスがこのイベントセットをサポートしていません。
と表示され、マクロが実行になりません。

例えば 1 台のコンピュータ上に複数のバージョンの Office を
インストールしている環境なのであれば、そういった現象が
起こり得ることが既に報告されています。
 
MS サポート より:
https://support.microsoft.com/ja-jp/help/936748/you-may-receive-error-messages-when-you-use-wizards-and-vba-commands-i

投稿日時: 18/09/14 16:31:01
投稿者: sayurisu

skさん。ありがとうございます。
 
まず、インストールされている Access のバージョン は  2013 のみでした。
ただ、PCに保存されているACCESSの拡張子を調べたところ『mdb』『accdb』の
2種類がありましたが、これは関係あるのでしょうか?
 
素人ですみません。

回答
投稿日時: 18/09/15 17:38:33
投稿者: Suzu

引用:
ACCESSを起動させるとフォーム【F】電気作業日報が立ち上がるように設定してあります。
このフォームヘッダーに抽出できるテキストボックスを作ってあり、入力して抽出しようとすると
『パラメータの入力】のインプット画面が出てきて、クエリで作成したフィルタの条件
(例えば・・・
 抽出1というテキストボックスに入力した時に、Forms![フォーム名]!抽出1 という
 パラメーター)が表示されます。

 
引用:
今、コレを回避する方法は、
@フォームをデザインビューで開く
Aプロパティシートからレコードソースの...をクリックして元になっているクエリを開く
BAで開いたクエリを閉じて、フォームのフォームビューで開き直す
を行うと通常通り動きます。

 
 
上記 2 の手順では、パラメータークエリの パラメーターダイアログに直接抽出条件を入力する。
そのあと、2 を行うと、フォーム上には、希望の結果が得られるのですよね?
 
であれば、パラメータの部分が問題であり、フォーム上のコントロールを参照できていなさそうです。
もう一度、フォーム名、コントロール名 を 半角全角スペースアンダーバー等含め確認しましょう。
完全に一致しているのであれば、【】に問題がある可能性もあります。
フォーム名から、【】を外しましょう。フォーム名を、F_電気作業日報 の様にしてみて、
パラメーターも同様に変えます。
 
 
 
引用:
また、マクロを組み込んでいるボタンをクリックすると
【イベントプロパティに指定した式 クリック時でエラーが発生しました。
 オブジェクトまたはクラスがこのイベントセットをサポートしていません。』と表示され、
マクロが実行になりません。

 
これは、具体的にどんな マクロ を設定しているのですか?

投稿日時: 18/09/18 09:13:09
投稿者: sayurisu

Suzuさん。回答ありがとうございます。
 

引用:
パラメータークエリの パラメーターダイアログに直接抽出条件を入力する。
そのあと、2 を行うと、フォーム上には、希望の結果が得られるのですよね?

 
エラーが出ると、「あぁ。たまね」と思って、回避方法を行っていたので、
パラメーターに直接抽出条件を入力したことが無かったので試してみたら・・・
入力出来なかった?!んです!
キーボードで打ち込んでも画面に表示されず・・・
仕方なくOK、OK、OKと抽出条件の個数エンターを繰り返したら、
やはり抽出はされなかったです。(当たり前ですが)
 
 
原因がはっきりしなかったので、教えてもらったもう1つの案
 
引用:
フォーム名から、【】を外しましょう。フォーム名を、F_電気作業日報 の様にしてみて、
パラメーターも同様に変えます。

 
を試してみたら、
抽出のエラーもボタンに組み込まれているマクロも一気に解決しました。
 
【】が悪さを働いていたんですね。
【F】電気作業日報 以外にも【】を使用していたので念の為、全て外しました。
 
以前に作ったデーターベースにも同じような現象が起こっていたのでコレが原因だったのかもしれませんね。
本当に助かりました。ありがとうございました。