
非連結のサブフォームに親フォームで設定された条件で
レコードソースを更新しているのですが、
「2467指定した式で閉じているかまたは存在しないオブジェクトを参照しています」とエラーが出ます。
色々調べた結果フィルタで対処する方法しか見つかりませんでした。
参考URL:http://www.accessclub.jp/bbs3/0132/superbeg45961 …
フィルタを使用するために、既定でレコードソースを設定してしまうと
レコードソースとなっているリンクテーブルが非常に重いため、開くまで非常に時間がかかってしまいます。
フィルタを使わずに回避する方法はないでしょうか。
No.3
- 回答日時:
条件を適当に設定したSQL自体のクエリは正しく動くのでしょうか?
この回答への補足
nda23様
クエリ自体は全く問題ありません。
現在はサブフォームのレコードソースにクエリ名を指定し
メインフォームでボタンクリック時に
QueryDefを利用しクエリーを生成してから
メインフォーム内のサブフォームのソースオブジェクトにサブフォーム名を設定してます。
No.2
- 回答日時:
レコードソースを動的に更新することは良く使う手です。
フィルタとかオブジェクトは使わず、SQL(文字列)を書き込む方法で
実現できるはずです。
Dim SQL As String
SQL = "SELECT ~ WHERE A=" & 画面項目 '画面による条件指定
Me.SubForm.Form.RecordSource = SQL
Me.SubForm.Form.Requery 'やらなくても良いと思うが、念のため
Recordsetは再クエリした結果、生成されるオブジェクトなので、
ここへ何かを代入するのは話が逆(つまり、間違い)です。
この回答への補足
nda23様
Private Sub メインフォームボタン_Click()
Me!サブフォーム.Form.RecordSource = SELECT * FROM TBL_SUB" & _
" WHERE ID = '"& Parent!iD &"'"
End Sub
としているのでnda23様と同じ形で実行しています(変数を通すか通さないかはありますが)
この形で現状上記エラーが出てしまいます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
なぜエラーになるのでしょうか? アクセス フォーム
Access(アクセス)
-
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
Access2000 サブフォームのRecordSet取得法
Access(アクセス)
-
-
4
Access サブフォームでの選択行の取得
その他(データベース)
-
5
Accessを開くと「排他モードじゃないので変更しても保存できない」との旨の表示が出てしまう。
Access(アクセス)
-
6
アクセスでサブフォームのレコードを取得したい。
Access(アクセス)
-
7
Accessの実行時エラーについて
その他(データベース)
-
8
ACCESS 複数のフォームから同一テーブル参照
Access(アクセス)
-
9
フォームを開くときに、コンボボックスの値を選択(アクセスVBA)
Visual Basic(VBA)
-
10
Access VBA コントロールの参照が上手く行かない
その他(プログラミング・Web制作)
-
11
アクセスで数値型のフィールドにNullをいれたい
その他(データベース)
-
12
Accessの画面更新を一時的に停止する方法。
その他(データベース)
-
13
access テキストボックスの値取得
Access(アクセス)
-
14
レコードセットで得た結果をサブフォームに出力したい
その他(データベース)
-
15
Access2003 クエリで、空の列は作れますか?
Access(アクセス)
-
16
ACCESS フォームからサブフォームのデータを更新・入力したい
Access(アクセス)
-
17
ACCSESS2013VBA フォームのレコードソースを変更する
その他(データベース)
-
18
Access2010 「演算子がありません」エラー
その他(データベース)
-
19
Accessで埋め込んだサブフォーム(データシート形式)でデータ追加ができない
Access(アクセス)
-
20
Access2016 リストボックスに検索結果を表示させたい
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
数百万件レコードのdelete
-
Access 1レコードずつcsvで出力...
-
Accessでの排他制御
-
Accessにインポートしたら並び...
-
Excel→Accessテーブル インポ...
-
Accessの固有レコード識別子の選択
-
SQLServerで同一条件レコードの...
-
Accessで重複したデータを一件...
-
ManagementStudioからのデータ削除
-
AccessのSQLについて教えてくだ...
-
ACCESS【更新クエリの中断がで...
-
Access VBA Me.Requery レコー...
-
排他モードで開く場合は、どう...
-
access入所退所日のデータから...
-
「マスタ」と「テーブル」の違...
-
オラクルではできるのにSQLSERV...
-
accessで移動平均する方法
-
ACCESS2000のテーブル構造
-
SI Object Browserのテーブルス...
-
請求と入金のテーブルの作成の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Accessにインポートしたら並び...
-
3つ以上のテーブルをUNIONする...
-
データの二重表示の原因
-
Access VBA Me.Requery レコー...
-
Accessで重複したデータを一件...
-
access入所退所日のデータから...
-
SQLServerで同一条件レコードの...
-
ManagementStudioからのデータ削除
-
Access 1レコードずつcsvで出力...
-
Access カレントレコードがあり...
-
Access 削除クエリが重い
-
ACCESSのBookmarkプロパティの...
-
Accessの重複クエリで最小以外...
-
Accessでの排他制御
-
数百万件レコードのdelete
-
DB INSERT 時の排他制御について
-
(ACCESS)並び替えをしないで...
-
非連結サブフォームのレコード...
-
特定のレコードのみの更新クエリ
-
Accessの固有レコード識別子の選択
おすすめ情報