
非連結のサブフォームに親フォームで設定された条件で
レコードソースを更新しているのですが、
「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 テキストボックスの値取得
Access(アクセス)
-
5
Access サブフォームでの選択行の取得
その他(データベース)
-
6
アクセスでテキストボックスの値が空白だったら
Access(アクセス)
-
7
Access VBAでタブコントロールで選択するタブをしていするには。
Access(アクセス)
-
8
親フォームからサブフォームのレコードソースを設定
Access(アクセス)
-
9
Access VBAで行ラベルが定義されていないというエラーが出ます
Access(アクセス)
-
10
アクセスのテキストボックスの初期値を空白に
Access(アクセス)
-
11
レコードセットで得た結果をサブフォームに出力したい
その他(データベース)
-
12
Access2010 「演算子がありません」エラー
その他(データベース)
-
13
フィルタ後のフォームの件数の取得の仕方
Access(アクセス)
-
14
アクセスでサブフォームのレコードを取得したい。
Access(アクセス)
-
15
クエリのデータをテーブルに入れたい
Access(アクセス)
-
16
MS Accessでフォームの「開く時」と「読込み時」のイベントの違い
Access(アクセス)
-
17
Accessでグローバル変数を宣言して定数を定義したい
その他(データベース)
-
18
Access チェックボックスやオプションボタンのサイズ変更
Access(アクセス)
-
19
AccessからExcelにエクスポートする時に常に上書きしたい
Excel(エクセル)
-
20
[Access]帳票フォームにて連続する非連結コントロールに個々の値を入れるには
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
3つ以上のテーブルをUNIONする...
-
Accessにインポートしたら並び...
-
データの二重表示の原因
-
2つの項目が重複するレコード...
-
アクセス重複データ
-
Accessで重複したデータを一件...
-
ACCESSのBookmarkプロパティの...
-
Access VBA Me.Requery レコー...
-
access ADODB でテーブルを更新...
-
delete⇒insert
-
(ACCESS)並び替えをしないで...
-
排他モードで開く場合は、どう...
-
SQLデータ修正時に『このレコー...
-
Access 削除クエリが重い
-
Accessでのレコードの削除時の...
-
SQLの複数のカウントについて
-
非連結サブフォームのレコード...
-
パススルークエリの使い方
-
Accessでの排他制御
-
ManagementStudioからのデータ削除
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
3つ以上のテーブルをUNIONする...
-
Accessにインポートしたら並び...
-
データの二重表示の原因
-
ACCESSのBookmarkプロパティの...
-
Access 削除クエリが重い
-
Access VBA Me.Requery レコー...
-
Access 1レコードずつcsvで出力...
-
2つの項目が重複するレコード...
-
数百万件レコードのdelete
-
SQLデータ修正時に『このレコー...
-
複数レコードをUPDATE文一文で...
-
SQLServerで同一条件レコードの...
-
Accessの重複クエリで最小以外...
-
Accessでレコードが更新された...
-
(ACCESS)並び替えをしないで...
-
テーブルのレコード削除ができ...
-
Accessで重複したデータを一件...
-
MySQL+PHP 特定レコードの更新...
-
曜日を格納する方法はどちらが...
-
ManagementStudioからのデータ削除
おすすめ情報