Accessのプロシージャについて教えてください。
フォーム FM0020 上に、2つのサブフォーム FS002001 と、FS002002 があります。
メインフォームにある値を使って、サブフォームのレコードソースを変更したい
のですが、どうもうまくできません。
FS002001のレコードソースは下記の1行目のコードで変数strSQLに代入出来るのですが、
FS002002のレコードソースは下記の2行目のようにしても
「オブジェクトまたはクラスがこのイベントセットをサポートしていません」
となり、代入出来ないのです。
2つ目のサブフォーム上にあるテキストボックス HMCD が下記3行目のように
すると代入できるので、サブフォームの名前を間違えているわけではないと思うのですが...。
他に原因としては何が考えられますか?
下記の3行を同じモジュール内に続けて書いても2行目だけがひっかかるのでもうお手上げ
状態です..。
なんとか助けてください。
お願いします。
strSQL = Forms!FM0020.FS002001.Form.RecordSource
strSQL = Forms!FM0020.FS002002.Form.RecordSource
strSQL = Forms!FM0020.FS002002!HMCD
No.2ベストアンサー
- 回答日時:
2行目の
>strSQL = Forms!FM0020.FS002002.Form.RecordSource
を
>strSQL = Forms!FM0020.FS002002.Form.Width
にしても、「オブジェクトまたはクラスがこのイベントセットをサポートしていません」のエラーが出ますか?
Forms!FM0020.FS002002.Form.DUMMY
のように、Form までは正しくて、存在しないプロパティを指定すると
「アプリケーション定義またはオブジェクト定義のエラーです。」となるんですけど、
Forms!FM0020.FS002002.DUMMY.RecordSource
のように正しくないサブフォームのプロパティを指定すると、「オブジェクトまたはクラスがこのイベントセットをサポートしていません」となりましたので、
Forms!FM0020.FS002002 から先の部分がおかしいようですね。
推測されるのは、「Form」と書いているつもりで「Forms」になってしまっている、とかいうことくらいですかね・・・。
あとは、メインフォームの RecordSource に FS002002 というフィールドがあるとか。(そんなわけないと思いますけど・・・)
ちなみに Access のバージョンは何でしょうか?
早速の回答ありがとうございました。
Accessのバージョンは2000です。
2行目を
>strSQL = Forms!FM0020.FS002002.Form.Width
にしてもやはりサポートしていませんのエラーになりました。
1行目をコピーして、サブフォーム名だけFS002002に変更してもエラーになってしまうんです。
と言いますか、何回かちゃんと動いていたのに、いきなりこの行だけエラーが出るようになってしまって。
何が悪かったのか分からなくてほとほと困ってます…
No.3
- 回答日時:
>と言いますか、何回かちゃんと動いていたのに、
>いきなりこの行だけエラーが出るようになってしまって。
あっ、もしかして、「参照設定」の中で「参照不可」になっているものがありませんか?もしあれば、間違いなくそれが原因ですが・・・。なければ・・・私にはお手上げです。
何度もすみませんでした。
残念ながら「参照不可」になってるものは見当たりませんでした…。
しかしダメ元で新しい別のmdbファイルにごそっとインポートしてみたら、
他には何もしていないのにちゃんと動くようになりました!
ただ、見比べてみても一体どこが違うのかよく分からなかったのでまた
同じ現象が起きそうでちょっと怖くはあるのですが…。
とりあえずなんとかなって一安心です。
このたびは本当にありがとうございました。
No.1
- 回答日時:
サブフォームなので、「リンク親フィールド」「リンク子フィールド」の個数や形式(テキストや数値)などが異なると、サブフォームのレコードソースを変更したときにリンクがつながらないことがあります。
対策としては、
1)「リンク親フィールド」「リンク子フィールド」の個数や形式を同一にする
2)サブフォームのレコードソースを変更できない場合、同じ場所に別のサブフォームを重ねて設計する。不要なサブフォームを「非表示」にする。ただし、サブフォームが複数ぶらさがるので、処理が遅くなる可能性があります。
(1の方法でも、再表示に時間がかかるので結構処理に時間がかかる場合があります。効率よくレコードソースを変更したり非表示にするタイミングを考えてみてください)
自信ないなー。なにかのヒントになれば幸いです。
早速のご回答ありがとうございました。
実はサブフォームは非連結...というか、リンク親フィールドもリンク子フィールドも指定していないんです。
メインフォームに入力された値を元にSQLを作成してデータを表示させようとしているので、その都度内容が違っているためサブフォームを重ねるわけにも行かず..。
でも、サブフォームを重ねるという手段もあるのですね!
また何かの際に利用したいと思います。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) アクセスの更新クエリでカレントレコードのみ更新したい 1 2022/06/02 23:32
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
- その他(プログラミング・Web制作) google formsを使ったタスク依頼フォーム作成におけるご相談 1 2023/06/22 15:55
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- その他(プログラミング・Web制作) google formsで回答者をスプレッドシートに記載する方法 1 2023/06/23 11:22
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- Access(アクセス) Dlookupにエラーがでてしまう 1 2022/10/31 14:35
- Visual Basic(VBA) 検索のユーザーフォームの表示について 1 2023/03/27 23:31
- Access(アクセス) Accessフォーム 一部のレコードだけを抽出する方法について 1 2022/06/28 18:45
- Visual Basic(VBA) Accessフォームで全レコードを指定のExcelのセルへ転送し印刷する方法について 2 2022/09/08 18:23
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教える店舗&オフィスのセキュリティ対策術
中・小規模の店舗やオフィスのセキュリティセキュリティ対策について、プロにどう対策すべきか 何を注意すべきかを教えていただきました!
-
親フォームからサブフォームのレコードソースを設定
Access(アクセス)
-
Access サブフォームでの選択行の取得
その他(データベース)
-
【Access】サブフォームのソースオブジェクトを入れ替えたい
Access(アクセス)
-
-
4
ACCSESS2013VBA フォームのレコードソースを変更する
その他(データベース)
-
5
サブフォームに対してGoToRecordするには?
その他(Microsoft Office)
-
6
ボタン押下でサブフォームのレコードソースを変更
Visual Basic(VBA)
-
7
サブフォームの切り替え方を教えてください
その他(データベース)
-
8
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
9
Accessのフォーム上にレコード数とレコード番号の表示
その他(データベース)
-
10
Accessのフォームにて、詳細行のボタンを行の内容により、表示/非表
その他(Microsoft Office)
-
11
「RunSQL」と「Execute」の違い
Access(アクセス)
-
12
MS Accessでフォームの「開く時」と「読込み時」のイベントの違い
Access(アクセス)
-
13
Accessで、フォームからフォームへ値を引き継ぐやり方
Access(アクセス)
-
14
アクセスのフォームのビューが表示されないのですが、
その他(データベース)
-
15
ACCESSでコンボボックスにSQLで抽出した値を表示したい
その他(データベース)
-
16
AccessVBA RecordSourceのリセットについて
Access(アクセス)
-
17
レコードを保存するコード アクセスvba
その他(Microsoft Office)
-
18
Accessでレコードを別テーブルへコピーするには
Access(アクセス)
-
19
Accessのサブフォームから値を参照する方法について
その他(データベース)
-
20
AccessのRefresh・Requery・Repaintの違い
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
クエリで出来た表にチェックボ...
-
ACCESSのサブフォームコピーに...
-
皆さん使っているブラウザを教...
-
Access 2003でサブフォームが更...
-
ACCESS──メインフォームでサブ...
-
【Access】サブフォームのソー...
-
アクセス2003のサブフォームの...
-
ACCESSサブフォームにデータ反...
-
ACCESS サブ・メインフォーム...
-
Excel VBA 全部のUserForm名
-
ACCESSのフォームで列固定?
-
ACCESSにて
-
サブフォームに対してGoToRecor...
-
VBAでサブフォームに自動的にデ...
-
Accessのサブフォームつきフォ...
-
Access 登録ボタンからサブフォ...
-
Access VBA には Gridはないで...
-
ACCESSで条件によってサブフォ...
-
Access Dsum関数
-
親フォームからサブフォームの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
サブフォームに対してGoToRecor...
-
クエリで出来た表にチェックボ...
-
親フォームからサブフォームの...
-
皆さん使っているブラウザを教...
-
ACCESS──メインフォームでサブ...
-
ACCESSにて
-
サブフォームを非表示させる方...
-
親・子リンクフィールドの設定...
-
ACCESS VBA メインフォーム及び...
-
ACCESSのフォームで列固定?
-
ACCESSサブフォームにデータ反...
-
Access VBA には Gridはないで...
-
ACCESSで条件によってサブフォ...
-
Accessで埋め込んだサブフォー...
-
【Access】サブフォームのソー...
-
アクセス2003のサブフォームの...
-
ACCESSのサブフォームコピーに...
-
サブフォームに変数を代入し、R...
-
ACCESS サブ・メインフォーム...
-
Access フォームで条件抽出し...
おすすめ情報