• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:他のデータベースのフォームを開きたい)

他のデータベースのフォームを開く方法

このQ&Aのポイント
  • 他のデータベースのフォームを開く方法を教えてください。
  • 予定(accdb)の「フォームA」で作業中ですが、会社予定(accdb)の「F_Calendar」のフォームを開いて参照したいです。
  • 試したことは下記のとおりですが、うまくいっていません。どなたか教えていただけますか?あるいはクリック時のマクロではできないでしょうか?

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

  • ベストアンサー
回答No.2

フォームを開いた後はユーザーの手作業で行うだけなら クリック時イベントに Application.followhyperlink "C:\Users\Public\仕事\会社予定.accdb","Form F_Calendar" の一行だけ Dim appAccess As Access.Application Set appAccess = CreateObject("Access.Application.9") も不要。 じゃダメ? これでも良ければ クリック時のイベントも不要にしてしまう事もできます。 コマンド37のプロパティ→書式の ハイパーリンクアドレスに、C:\Users\Public\仕事\会社予定.accdb ハイパーリンクサブアドレスに、Form F_Calendar とすればコードは1行も要りません。

southbreeze
質問者

お礼

Naoto様 NotFound様  ご教示いただき、誠にありがとうございました。 自己解決いたしました。 【解決方法】 (1)「会社予定」の "T_ああ" (予定を記録しています)をテーブルリンクしました。 (2) F_Calendar のフォームとモジュールをインポートしました。  そしたら、予定のフォームの一つに F_Calendar が表示されました (3)フォームAにF_Calendarを開くコマンドボタンを配してマクロを設定しました。 本当にありがとうございました。

southbreeze
質問者

補足

NotFound404様 ご回答ありがとうございます。 お示しの2通りを試してみました。 2通りとも、期待していた通りの結果を得ることができました。 誠にありがとうございます。 後、一点だけ... Accessを開くときにパスワードを設定していまして、コマンドボタンを クリックする都度入力が必要となっています。 この件はその都度入力しないで開けるよう何とかならないものでしょうか? 何卒、よろしくお願いいたします。

その他の回答 (1)

  • naoto0216
  • ベストアンサー率46% (183/391)
回答No.1

ご質問内容を理解していないのですが、単純に 会社予定.accdbから予定accdbにF_Calendarをインポート して、フォームAのボタンからF_Calendarを起動するんじゃ ダメなのでしょうか。 仮に、会社予定.accdbのF_Calendarを予定.accdbのフォームAから開けた としても、会社予定.accdbで既にF_Calendarが開かれている 状態の場合ってエラーにならないんですかね。 検討違いな回答でしたら無視して下さい。 あと、フォームAのコマンドボタンを押したときに何かしらエラー が表示されると思いますが、その内容を載せた方が回答がつくと 思います。

southbreeze
質問者

補足

naoto0216様 ご回答ありがとうございます。 ・インポートする方法 インポートする方法もやってみて、ふっと思いましたのはこの「会社予定」は共有フォルダにあって、他のパソコンからも "F_Calendar"に書き込みが出来るため、やはり元場所に置いて参照する方法しか無いのではと思っております。 ・エラーメッセージ 質問で書かせていただいた「記述式」をコマンドボタンの「クリック時」に記述しますと 「イベント プロパティに指定した式 クリック時 でエラーが発生しました:プロージャの外では無効です」そしてその下に *マクロ名、ユーザー定義関数名、[イベンドプロージャ]以外の式が指定されています。 *関数、イベント、マクロの評価でエラーが発生しました。 と出ています。そして、さらに この「予定」のメインフォームに配置したいくつかの、コントロールで DLookUp の他、DMax, DMinが機能しなくなっています。 お手数ですが、解決策をご教示いただければ、嬉しい限りです。

関連するQ&A