パソコンカレッジ スタッフのひとりごと

パソコンスクールのスタッフが、
初心者から上級者まで役立つ情報をお伝えします。

VBからAccessを起動する(Visual Studio2008)

2009-03-27 10:40:58 | Visual Basic
以前にVBからExcelを起動するという内容をお届けしました。

すると、生徒さんから、Accessは起動できるの?
という質問を頂きました。

もちろん、できます。
ただ、コードが異なるので(当然??)今回取り上げます。

任意のフォームにボタンを貼り付けます。
このボタンをクリックすると、Accessが起動するという設定です。



なお、事前に確認事項があります。
■Accessのファイルが既に作成されていること。
■その保存場所のフルパスを知っていること。

今回は、PCC.mdbという名前のAccessファイルにします。
もちろん、ファイル名は、自由に指定できますよ。

また、保存場所は、自アプリケーションの場所にします。
VSの場合、製作中は、
My DocumentsVisual Studio 2008Projects の中の
プロジェクト名の中の binDebugフォルダとなります。
(長ったらしいなあ・・・)


それでは、貼り付けたボタンをダブルクリックしてください。
コード画面に切り替わります。



上の赤い字で指定した場所に、以下のコードを記述します。

    Dim AccApp As Object
    Dim myPath As String = My.Application.Info.DirectoryPath & "PCC.mdb"

    AccApp = CreateObject("Access.Application")
    AccApp.opencurrentdatabase(myPath)
    AccApp.visible = True

こんな感じですよ。




それでは、まず、きちんと
「ファイル」→「すべて保存」をクリックして、OKをクリック。
これで、Projectフォルダの中に今回のフォルダが作成されました。

さあ、F5を押して、デバッグ開始です。
フォームが表示されたら、ボタンをクリック。
すると・・・・

ほら、Accessが起動しました。



今回のポイントを2つ。

自アプリケーションのパスは、

My.Application.Info.DirectoryPath

で、取得できるということ。
従って、常に、このアプリと同じディレクトリ(フォルダ)に
Accessファイルを置いておけば、ちゃんと起動できます。

もうひとつは、コーディングの際に、

opencurrentdatabase と入力しても、大文字になりません。
つまり、VBは、コーディングの段階では、
このメソッドを認識していないのです。

でも、実行時にちゃんと解釈してうまく動作します。
こういうのを、実行時バインディングといいます。
コーディング時に、間違っているんじゃないかと、
ハラハラどきどきしますよね。

それでは、また。

だい
コメント (5)
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

【おすすめ】

パソコン買ったらまず入れる10のアプリ