• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:【Access2007】サブフォームのRecordSourceの設定で)

【Access2007】サブフォームのRecordSourceの設定で実行時エラー 2146500594が発生します。

このQ&Aのポイント
  • Access2007で、メインフォーム上に帳票フォーム形式のサブフォームがあります。サブフォームのRecordSourceプロパティを設定する際に、実行時エラー 2146500594が発生しました。
  • サブフォームのRecordSourceプロパティには正しく値が設定されていることを確認済みですが、エラーが出てしまいます。
  • 原因や解決策について検索しましたが、情報が見つかりませんでした。対処方法を教えていただけると助かります。

質問者が選んだベストアンサー

  • ベストアンサー
  • piroin654
  • ベストアンサー率75% (692/917)
回答No.1

2007の環境がないので、気がついたことだけ述べておきます。 したがって、エラー番号が何をさすのか確認していません。 記載ミスでなければ、こうではなく >Forms![親フォーム]![サブフォーム].Form!RecordSource = strSQL こうでは Forms![親フォーム]![サブフォーム].Form.RecordSource = strSQL Formのあとは!ではなく、ドットです。 それから、本来は[サブフォーム]はサブフォームの名前ではなく 親フォームをデザインビューで開いたときにサブフォームを連結 する器の名前で、最初に貼り付けた時は[埋め込み0]とかいう 名前がついています。このコントロールの名前をさします。その コントロールに連結しているフォームのレコードソースという 意味で Forms![親フォーム]![サブフォーム].Form.RecordSource = strSQL という書き方をします。ですからこの場合は[埋め込み]の名前を サブフォームと同じにしているということになりますが、その前に 埋め込みの名前を変えておく必要があります。

q_ta
質問者

お礼

お礼が遅くなり、申し訳ありません。 ご回答いただいたとおりコードを書き換え、何度か試しましたがやはりエラーになってしまいました。 同じ環境・コードで、他のパソコンではエラーが発生しなかったため、 そちらのデータベース自体をコピーしたところ、正常に動くようになりました。 しかし、コードの書き方や意味合い等を教えていただき、大変勉強になりました。 ありがとうございました。