• ベストアンサー

アクセス2003で7種類データベースを作成しています。これらをそれぞれ

アクセス2003で7種類データベースを作成しています。これらをそれぞれアイコンにして1クリックで開けるようにメインメニューのフォームを作りたいと考えています。どのようにしたらできるでしょうか? エクセルやワードなどはできるのですが、アクセスは無理でしょうか?よろしくお願いします。

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

  • ベストアンサー
  • DexMachina
  • ベストアンサー率73% (1287/1744)
回答No.4

No.3です。 > でもやはり、ハイパーリンクにはコンピュータやデータに問題を起こす可能性が > あるものもあります。・・・とセキュリティ警告がでます。 前回の私の回答では、ハイパーリンクは使用していないはずなのですが・・・(汗) ひょっとして、No.2の方の回答と混同されて、ハイパーリンクも同時に設定されて しまった、ということでしょうか。 もしそうであれば、恐らくコマンドボタンに対してハイパーリンクも併設されている 状態かと思いますので、それを削除してください。 (前回の私の回答では、ハイパーリンク以外の方法で別のMDBファイルを起動  しているため、ハイパーリンクは不要です) 手順としては以下の通り:  1)当該フォームをデザインビューで開く  2)当該コマンドボタンをダブルクリックするなどして、コマンドボタンのプロパティ   シートを開く  3)『書式』タブに『ハイパーリンクアドレス』の項目があるので、そこに記述された   文字列(=リンク先のアドレス)を削除  4)フォームを保存して閉じる ・・・以上です。

その他の回答 (3)

  • DexMachina
  • ベストアンサー率73% (1287/1744)
回答No.3

Access2003だと、マクロのセキュリティ設定やデジタル署名の有無にもよりますが、 起動時に『セキュリティ警告』が出るかと思います。 メインメニューとなるMDBファイルから起動するたびにそれが出るとなると、恐らく 「このメッセージはどうにかならないか」という話が出てくるかと思います。 それの対処も含めてのサンプルコードです: (別のMDBファイルを起動するのは当該フォームのみと考え、フォームのモジュールに 全て貼り付ける前提としました) '~~~~~~~~~~~以下を貼り付け~~~~~~~~~~~~~ Option Explicit '【各コマンドボタンから共通で使用するSub】 Private Sub OpenMDB(strPath As String) 'エラー発生時は「エラー処理」の行に飛ばす On Error GoTo エラー処理   '変数の宣言   Dim Acc As Access.Application, strMsg As String   '「Microsoft Office X.X Object Library」への参照設定を行う場合は不要   Const msoAutomationSecurityLow As Long = 1   '確認メッセージが不要な場合は、以下の2行は削除   strMsg = "以下のデータベースを起動します:" & vbCrLf & vbCrLf & strPath   If MsgBox(strMsg, vbOkCancel, "確認") = vbCancel Then Goto 終了処理   '当該DB用にAccessアプリケーションを起動   Set Acc = New Access.Application   '上記アプリケーションを可視化   Acc.Visible = True   'セキュリティメッセージを非表示にする設定   Acc.AutomationSecurity = msoAutomationSecurityLow   '引数「strPath」で指定したMDBファイルを開く   Acc.OpenCurrentDatabase strPath   'メモリの解放と同時に当該DBが終了するのを防ぐ処理   Acc.UserControl = True 終了処理:   '念のため明示的にメモリを解放して終了   Set Acc = Nothing   Exit Sub エラー処理:   'エラー発生時はメッセージを表示   MsgBox Err & ":" & Err.Description, , Me.Name & " OpenMDB"   Resume 終了処理 End Sub '【コマンドボタンでの使用例】 Private Sub コマンド0_Click()   'データベースの絶対アドレスを引数に指定して、上記Subを呼び出す   OpenMDB "\\FileServer01\共有db\グループ月報.mdb" End Sub '~~~~~~~~~~~以上を貼り付け~~~~~~~~~~~~~ ・・・以上です。 MDBのパスや、コマンドボタンの名前は適当に設定したものなので、実際の ものに合わせて変更してください。

ayanohina
質問者

補足

ありがとうございます。でもやはり、ハイパーリンクにはコンピュータやデータに問題を起こす可能性があるものもあります。・・・とセキュリティ警告がでます。あと少しなのですが・・・。

  • 30246kiku
  • ベストアンサー率73% (370/504)
回答No.2

コマンドボタンのプロパティ「ハイパーリンクアドレス」に 対象mdbのフルパスを記述してみてはどうでしょうか。 VBAで記述するなら、 Me.btn1.HyperlinkAddress = "D:\tmp\aaa.mdb" ボタンがクリックされたら、対象mdbが起動されると思います。 後は、ボタンにbmpなど表示させて、アイコンの様に見せれば、と思います。

ayanohina
質問者

補足

ありがとうございます。上記のようにハイパーリンクでしてみたのですが、開く時にハイパーリンクについてと他のセキュリティ警告が出ます。結局合計3回クリックしなければいけないので、この警告を表示させないようにしたいのですが、できるでしょうか。申し訳ありません。

  • mumu_bb
  • ベストアンサー率50% (5/10)
回答No.1

無理ではないのですが、 私の知っている限りでは、VBAを使わないとできないような気がします。 フォームで実現するなら、 ボタンを7つ配置し、 それぞれに、イベント(VBA)を記述する という風になります。 イベントでは、Shell関数を使います。 もし、ファイルどうしで値を渡したりする必要がないのなら、 格好は悪くなりますが、 ひとつフォルダを作ってそこにショートカットを集めておく っていうのではだめですか?

ayanohina
質問者

補足

ありがとうございます。ファイルどうしで値は共有しないのでフォルダでと考えたのですが、格好を良くしたいと言われ、できればVBAでしたいのですが。イベント記述を教えていただけないでしょうか?

関連するQ&A

  • データベースウィンドウにアクセスできない

    お世話になります。 ずっと使用してきたアクセスのデータベースなのですが、ある日突然、起動すると、データベースウィンドウがoffのまま(薄い色のまま)で、作業に入れなくなりました。そこからは、オブジェクトを開けません。 自分で作成したメインメニューの方は生きているので、そのフォームに関連つけられたオブジェクトは開くことができます。 素人が本を読みながら作成したので、いったん変になると、どうしたらよいのかわかりません。 よろしくお願いいたします。

  • データベースウィンドウにアクセスできない

    顧客管理用に自分で作成し、ずっと使用してきたアクセスのデータベースなのですが、ある日突然、起動すると、データベースウィンドウがoffのまま(タイトルバーが薄い水色のまま)で、作業に入れなくなりました。そこからは、オブジェクトを開けません。 自分で作成したメインメニューの方は生きているので、そのフォームに関連つけられたオブジェクトは開くことができます。 素人が本を読みながら作成したので、いったん変になると、どうしたらよいのかわかりません。 よろしくお願いいたします。

  • 現在MS-ACCESSを勉強中でデータベースを作成しようと思い

    現在MS-ACCESSを勉強中でデータベースを作成しようと思い 基本的な使い方を勉強して少しは分かったつもりなのですが 私の希望するデータべースを作るには どの様にテーブルとクエリを作れば良いか分かりません。 作りたいデータは 顧客Xさん が 6月5日に クーポンAを使い 100,000万円を利用しました。 クーポンAを使った場合は 5%の割引がある。 上記条件にのっとりレポートを作る際に Accessのフォーム機能を使い、 フォームに必要事項を打ち込めば 自動でクーポン割引を計算してくれた データベースが作れる様にしたいのです。 また データーベースには 利用日、 氏名、 利用金額、 使用クーポンの種類、 クーポン割引後の金額 が出る様にしたいんです。 クーポンの種類は A~Z 迄あるとします。 また クーポンは A~Z迄 それぞれ異なった割引があります。 この様なデータベースを作るためには、 どの様なテーブルを作り どの様なクエリを作れば良いのでしょうか? 詳しい方いらっしゃればお教えください。 以前 Excelで上記のものを作りましたが Accessでフォーム機能を使い、 フォームに必要事項を打ち込めば 自動でクーポン割引を計算してくれた データベースが作れる様にしたいのです。 以上宜しくお願い致します。

  • Access2000:データベースウィンドウの表示

    Access2000で。 開いた際に、データベースウィンドウを非表示にして、自分で作成したフォームを表示させているファイルがあります。 このフォーム内にボタンを作り、そのボタンを押すことで、データベースウィンドウの表示/非表示を切り替えたいのですが、マクロ(VBA?)で実現することは可能でしょうか?([F11]キーやメニューバーからの選択をしたくないのです) どなたか教えてください。よろしくお願いします。

  • Accessで2種類のデータベースを結合する方法

    Accessで2種類のデータベースを結合する方法 AccessでMySQLとSQLServerというような2種類のデータベースをJOINしたSQLを使いたいと思います。 Access上でリンクしておいてクエリー定義すれば出来ることはわかっているのですが、高速化かつODBCの設定をしなくても済むように出来ればDAOを使って接続したいと思っています。 このような別データベースを結合するSQLは記述することは無理でしょうか? 又は別のリンクテーブルを使わなくても済む方法がありましたら、教えていただけると助かります。 Accessのバージョンは2007です。

  • accessで作成したデータベースの共有

    自分でもいろいろとネットで調べたのですが、 解決する答えが見つからなかったので、質問させていただきます。 アクセス2010を使用しています。 支店(レストランです)が注文をできるフォームをとりあえずデスクトップデータベースで作成しました。 支店のコンピュータにはアクセスはインストールされていないので、 webデータベースとして再度作り直そうとしているのですが、 デスクトップデータベースに比べると機能の制限が多く、この案は難しいと思っています。 (たとえば、デザインビューがないので、フィールドのプロパティが参照、変更できないなど) そこで、次に考えたのがマイクロソフトのクラウドを利用するということなのですが、 クラウドのサーバーに作成したアクセスのデータをおいて、各支店からそこにアクセスしてもらう場合、 各支店のコンピュータにもアクセスがインストールされている必要があるのでしょうか? あと、データベースの共有でほかにいい案がありましたらご教示願います。 以上、よろしくお願いいたします。

  • ACCESSからWORDファイルを作成

    ACCESSのデータベースのデータからWORDファイルの作成を行う事は可能なのでしょうか? ACCESSのフォームにボタンを設けて、ボタンクリックイベントで、ファイル指定を行い、指定のフィールドに入力されているデータを指定のWORDファイルに出力できないかと試行錯誤しています。 どなたか、解決策をご存知ないでしょうか? よろしく御願いします。

  • Accessのデータベースが開かなくなりました

    初めて質問させていただきます。 いつものようにアクセスを使って名簿を整理していたのですが、「認識しません」というエラーメッセージが出てファイルが開かなくなりました。 ファイルを開こうとすると「このデータベースは予期しない状態のため開くことができません」と出ます。 その下に「このデータベースはツールメニューのデータベースユーティリティーの変換コマンドではなくDAOのCompactDatebaseメソッドを使って以前のバージョンの形式から変換されています。このため、データベース一部が変換されていません。」と表示されます。「元のデータベースがある場合はデータベースユーティリティーの変換をクリックして、変換してくださいとありますができません。 データベースは97で作成したものを2003で使っていました。 何か解決策はあるのでしょうか?

  • Access97作成のデータベースを2000で

    教えてください! Access97で作成したデータベースにLAN内の他のPCからAccess2000で開いて入力していたのですが、コード入力で分類を引っ張る部分でデータが文字化けしたり欠損したりという不具合が出ました。 よい解決法はあるでしょうか? また、このデータベースをコピーして元のテーブルとリンクさせてAccess2000からの入力用データベースを作ろうとしたのですが、テーブルの新規作成がグレーになっていてできませんでした。 こちらの解決法があれば併せてお教え願います。 仕事上とても困っています。 どうかよろしくお願いします。

  • Accessデータベース&マクロについて

    Accessデータベース&マクロを勉強しようと思っています。 まずデータベースを作成出来るようになってから、最終的には、マクロを作成出来るような所までいきたいです。 Excelではマクロは作成出来ます。 どのような勉強方法がいいでしょうか。Accessに詳しい方教えて頂けませんか。

専門家に質問してみよう