
非連結のサブフォームに親フォームで設定された条件で
レコードソースを更新しているのですが、
「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 VBAでタブコントロールで選択するタブをしていするには。
Access(アクセス)
-
5
アクセスのテキストボックスの初期値を空白に
Access(アクセス)
-
6
Access サブフォームでの選択行の取得
その他(データベース)
-
7
access テキストボックスの値取得
Access(アクセス)
-
8
Access2010 「演算子がありません」エラー
その他(データベース)
-
9
親フォームからサブフォームのレコードソースを設定
Access(アクセス)
-
10
アクセスでサブフォームのレコードを取得したい。
Access(アクセス)
-
11
Accessでグローバル変数を宣言して定数を定義したい
その他(データベース)
-
12
[Access]帳票フォームにて連続する非連結コントロールに個々の値を入れるには
Access(アクセス)
-
13
アクセスでテキストボックスの値が空白だったら
Access(アクセス)
-
14
Access コンボボックスの値をクリアしたい。
PowerPoint(パワーポイント)
-
15
ACCESS 複数のフォームから同一テーブル参照
Access(アクセス)
-
16
ADOでRecordsetオブジェクトをレコードソースに設定したい
その他(データベース)
-
17
帳票フォームに全レコードを表示できない
その他(データベース)
-
18
falseとtrue 0,1,-1 の意味が知りたいです
PowerPoint(パワーポイント)
-
19
フォームを開くときに、コンボボックスの値を選択(アクセスVBA)
Visual Basic(VBA)
-
20
Access VBA コントロールの参照が上手く行かない
その他(プログラミング・Web制作)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
3つ以上のテーブルをUNIONする...
-
数百万件レコードのdelete
-
Accessにインポートしたら並び...
-
Access VBA Me.Requery レコー...
-
DB2のデーターベースに、ADOで...
-
ACCESSのBookmarkプロパティの...
-
access入所退所日のデータから...
-
Accessの固有レコード識別子の選択
-
SQLデータ修正時に『このレコー...
-
2つの項目が重複するレコード...
-
MSAceess テーブル結合でメモリ...
-
Accessで重複したデータを一件...
-
後からAUTO_INCREMENTの値を1に...
-
SQLServerで同一条件レコードの...
-
Access 削除クエリが重い
-
「マスタ」と「テーブル」の違...
-
accessで移動平均する方法
-
SQLで○○の値以外を持っているレ...
-
請求と入金のテーブルの作成の...
-
ACCESS2000のテーブル構造
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
3つ以上のテーブルをUNIONする...
-
Accessにインポートしたら並び...
-
Access 削除クエリが重い
-
データの二重表示の原因
-
Access VBA Me.Requery レコー...
-
ACCESSのBookmarkプロパティの...
-
SQLデータ修正時に『このレコー...
-
テーブルのレコード削除ができ...
-
2つの項目が重複するレコード...
-
数百万件レコードのdelete
-
ManagementStudioからのデータ削除
-
Access 1レコードずつcsvで出力...
-
Accessで重複したデータを一件...
-
(ACCESS)並び替えをしないで...
-
Access カレントレコードがあり...
-
SQLServerで同一条件レコードの...
-
レコードロックする方法
-
DB2のデーターベースに、ADOで...
-
非連結サブフォームのレコード...
-
Accessでレコードが更新された...
おすすめ情報