プロが教える店舗&オフィスのセキュリティ対策術

エクセルVBAでボタンを作成し、そのボタンを押すと、アクセスのフォームが開き、そこでデータを入力したいのですが、どのようにすればよいのでしょうか?

知っている方がいましたらご教授ください。

A 回答 (2件)

これも丸投げの質問。

他人を当てにして難しい問題をやろうとしていると思う。コードを貼り付けて動きましたのことではないはず。
なぜエクセルから、ACCESSに入るのをVBAでやるのか。初心者は別ソフトの連携など、相当勉強してからするものだと思うが。
WEBを照会すると、下記ぐらいはコード例が出ている。そういうのを調べたのかな。この先こそ質問になる事項ではないかと思う。疑問続出すると思う。
ーー
エクセルのシートにコマンドボタンを1つ貼り付け。
編集モードでダブルクリックして、クリックイベントで
Private Sub CommandButton1_Click()

End Sub
ガ出る。
ーーー
そこでコードだが
私の場合ACCESSに、社員2.MDBがある。
そこにはフォームで「フォーム1」と言うフォームを作っていて
そこにはテキストボックス2つとコマンドボタンを1つ設けている。
テキスト0
テキスト2
コマンド5
の名前になっている。
コマンド5のクリックイベントは下記のようになっている。
ーーー
Private Sub CommandButton1_Click()
Dim appAC As Object
'Accessのインスタンスをファイルから作成
Set appAC = CreateObject("Access.Application") 'GetObject("E:/Gabu/M1.mdb")

'見えるように
appAC.Visible = True
appAC.OpenCurrentDatabase CurDir & "\" & "社員2.MDB"
'フォームをモーダル表示
appAC.DoCmd.OpenForm "フォーム1", acNormal, , , acFormEdit, acDialog
'終了処理
'appAC.Quit
'Set appAC = Nothing
End Sub
ーーー
Private Sub コマンド5_Click()
Me.テキスト0.SetFocus
MsgBox Me.テキスト0.Text
Me.テキスト2.SetFocus
MsgBox Me.テキスト2.Text
End Sub
エクセルシートのボタンをクリックすると
フォーム1が現れ
テキスト0 に東京都
テキスト2 に中野区
と入れて、コマンド5をクリックすると
東京都、中野区が表示される。
ここらぐらいは出来たから、コントロール名を質問者の場合に変えて
やってみて。
    • good
    • 1
この回答へのお礼

ご返答ありがとうございました。

只今、会社でアクセスを習得を任されたのですが、未だどのような事ができるのか、手探りでやっております。これを調べるのにも相当悩んでいました。
また、上記のコードを調べて理解できました。
どうもありがとうございました。

お礼日時:2009/05/18 17:29

ほとんど前の方と一緒です。


以下を実行する仕組みは作ってください。

Private Sub test1()
  Dim acApp As Object

  Set acApp = CreateObject("Access.Application")
  acApp.OpenCurrentDatabase "E:\Access\tmp\HogeHoge.mdb"
  acApp.Visible = True
  acApp.UserControl = True

  acApp.DoCmd.OpenForm "フォーム名"

  Set acApp = Nothing
End Sub

mdb オープンで起動されるフォームが設定されていれば、そのフォームは開かれるようなので、
acApp.DoCmd.Close 2, "フォーム名", 2
で閉じてください。

数字の意味合いは、Accessでいう
DoCmd.Close acForm, "フォーム名", acSaveNo
    • good
    • 0
この回答へのお礼

ご返答ありがとうございました。

只今、会社でアクセスを習得を任されたのですが、未だどのような事ができるのか、手探りでやっております。これを調べるのにも相当悩んでいました。
また、上記のコードを調べて理解できました。
どうもありがとうございました。

お礼日時:2009/05/18 17:30

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A