
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(アクセス)
-
ACCSESS2013VBA フォームのレコードソースを変更する
その他(データベース)
-
Access サブフォームでの選択行の取得
その他(データベース)
-
-
4
MS Accessでフォームの「開く時」と「読込み時」のイベントの違い
Access(アクセス)
-
5
AccessVBA RecordSourceのリセットについて
Access(アクセス)
-
6
ボタン押下でサブフォームのレコードソースを変更
Visual Basic(VBA)
-
7
Access_Formのデザインビュー画面を拡大表示
Access(アクセス)
-
8
アクセスのフォームで、文字を中央揃えにしたい
Access(アクセス)
-
9
どこにもフォーカスを当てたくない
Access(アクセス)
-
10
「RunSQL」と「Execute」の違い
Access(アクセス)
-
11
サブフォームに対してGoToRecordするには?
その他(Microsoft Office)
-
12
クエリで出来た表にチェックボックスを追加する
その他(Microsoft Office)
-
13
Accessで埋め込んだサブフォーム(データシート形式)でデータ追加ができない
Access(アクセス)
-
14
Access-VBAでExcelファイルを作成する。
Excel(エクセル)
-
15
選択したチェックボックスのみチェックを入れたいのですが
その他(データベース)
-
16
Access 最後のレコードに到達するまでループ処理を行う方法
Access(アクセス)
-
17
AccessのRefresh・Requery・Repaintの違い
Access(アクセス)
-
18
Access:クエリーにて集計後に文字列結合したい。
その他(データベース)
-
19
IIF関数の使い方
Visual Basic(VBA)
-
20
アクセス:クエリの結合とリレーションシップの違いについて
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
親フォームからサブフォームの...
-
サブフォームに対してGoToRecor...
-
クエリで出来た表にチェックボ...
-
Access サブフォームのレコード...
-
ACCESSにて
-
アクセス2003のサブフォームの...
-
親・子リンクフィールドの設定...
-
アクセスの住所録
-
access vba サブフォームに条件...
-
アクセスのサブフォーム
-
ACCESS VBA メインフォーム及び...
-
Access フォームで条件抽出し...
-
皆さん使っているブラウザを教...
-
ACCESSのサブフォームコピーに...
-
サブフォームを非表示させる方...
-
Access2007 ラベルの削除がで...
-
Access メインフォーム サブフ...
-
サブフォームに変数を代入し、R...
-
Access:データシート形式表示...
-
ACCESSサブフォームにデータ反...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
サブフォームに対してGoToRecor...
-
クエリで出来た表にチェックボ...
-
親フォームからサブフォームの...
-
サブフォームを非表示させる方...
-
ACCESSにて
-
ACCESS──メインフォームでサブ...
-
Accessで埋め込んだサブフォー...
-
ACCESSのフォームで列固定?
-
皆さん使っているブラウザを教...
-
サブフォームのあるフォームか...
-
ACCESS VBA メインフォーム及び...
-
親・子リンクフィールドの設定...
-
Access2007 ラベルの削除がで...
-
ACCESSで条件によってサブフォ...
-
access vba サブフォームに条件...
-
Accessでセレクタをダブルクリ...
-
ACCESSのサブフォームコピーに...
-
Access 登録ボタンからサブフォ...
-
Access フォームで条件抽出し...
-
access フォーム上で複数行の...
おすすめ情報