• 締切済み

ACCESS2007 サブフォームを別ウィンドで

ACCESS2007でデータベースを作っています 入力時にフォームを利用していますが、サブフォームを数個入れて使用しています。 今回突発的なイベントがあり、イベントの申込みを管理したいのですが、 フォームがかなり大きくなってしまうので、ボタンを付けてサブフォームを別ウィンドで 開けないか試行錯誤しています。 フォームにボタンをつけ、ウィザードで「フォームを開く」「特定のフォームを開く」「顧客IDでつなぐ」 という設定で作成をしましたが、同フォームの中に入れ込んだサブフォームのように 顧客IDでは結ばれていないものになってしまいました 同フォームであれば、作成したテーブルやクエリをドラッグしてあげれば「顧客ID」で結べるのですが、 これを別ウィンドで立ちあげられるようにするにはどうやればいいでしょうか? ネットで検索してみたのですが、目的のものは見つからなかったので質問させていただきました やり方がわかるかた、または参考ホームページをご存じの方、どうぞよろしくお願いいたします

みんなの回答

  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.3

そのコマンドボタンのクリック時イベントに docmd.OpenForm "単独で開きたいフォーム名",acNormal としてみてください。 ↓みたいな感じ Private Sub コマンド33_Click() DoCmd.OpenForm "単独で開きたいフォーム名", acNormal End Sub あるいは、コマンドボタンの、ハイパーリンクサブアドレスに form 単独で開きたいフォーム名 としても出来ます。 (フォーム名に半角スペースやカッコなどがない場合に限定されるかも?)

  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.2

? メインフォームで目的のレコードまで移動しておきます。 その後で、単独で開きたいフォームをコマンドにしろ手作業にしろ開けば 単独で開きたいフォームにフィルターが掛かって目的のだけが現れるはずですけど? 新規レコードの場合はメインフォームにも顧客ID自体がないので メインフォーム上で顧客IDを入力しレコードをいったん保存すれば(Docmd.save) (組み込みのサブフォームにも自動的に反映されます。) この状態で単独で開きたいサブフォームを開けば・・・OKと思います。 もちろんメインフォームを開いていない状態で単独サブフォームを開けば パラメータクエリのように顧客IDの入力を促されます。 何も入力しないで開けば顧客IDは空白です。 状況を誤解していたらゴメン。

muscleking78
質問者

お礼

回答ありがとうございます また、説明不足がありましてすみません。。。。 今回ご回答いただいた状態まではできました、ありがとうございます 最終目標としては目的のメインフォームからボタンを押すと自動的に顧客IDが振られているものが立ち上がるようにできればと思っています イメージとしては組み込みのサブフォームが別ウィンドで立ち上がるようにできたらと考えています どうぞよろしくお願いいたします

  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.1

メイン/サブフォームが顧客IDで連結されているなら 別ウィンドで開きたいフォームのプロパティを開き データタブのフィルター欄に、顧客ID=Forms!メインフォーム名!顧客ID 読み込み時にフィルター適用に、はい でどうですか?

muscleking78
質問者

お礼

回答ありがとうございます 教えていただいたように 顧客ID=Forms!メインフォーム名!顧客ID と記入し、(メインフォーム名は変更)フィルター適用をしたのですが、顧客IDが空白になってしまい、だめでした。。。 顧客IDを手打ちしておけばその後は問題なく連結してくれます 対処法がございましたら教えていただければ幸いです