アプリ版:「スタンプのみでお礼する」機能のリリースについて

非連結のサブフォームに親フォームで設定された条件で
レコードソースを更新しているのですが、
「2467指定した式で閉じているかまたは存在しないオブジェクトを参照しています」とエラーが出ます。

色々調べた結果フィルタで対処する方法しか見つかりませんでした。
参考URL:http://www.accessclub.jp/bbs3/0132/superbeg45961 …

フィルタを使用するために、既定でレコードソースを設定してしまうと
レコードソースとなっているリンクテーブルが非常に重いため、開くまで非常に時間がかかってしまいます。

フィルタを使わずに回避する方法はないでしょうか。

A 回答 (4件)

1です



2と3で手法が違いますがその辺りの解説は?
    • good
    • 0

条件を適当に設定したSQL自体のクエリは正しく動くのでしょうか?

この回答への補足

nda23様

クエリ自体は全く問題ありません。
現在はサブフォームのレコードソースにクエリ名を指定し
メインフォームでボタンクリック時に
QueryDefを利用しクエリーを生成してから
メインフォーム内のサブフォームのソースオブジェクトにサブフォーム名を設定してます。

補足日時:2008/06/20 16:04
    • good
    • 0

レコードソースを動的に更新することは良く使う手です。


フィルタとかオブジェクトは使わず、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様と同じ形で実行しています(変数を通すか通さないかはありますが)
この形で現状上記エラーが出てしまいます。

補足日時:2008/06/20 10:55
    • good
    • 0

非連結・・・ではないですよね?



レコードソースを更新・・・具体的にどのように?
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

関連するカテゴリからQ&Aを探す


このQ&Aを見た人がよく見るQ&A