プロが教えるわが家の防犯対策術!

教えてください。よろしくお願いします。
VB6.0のプログラムからACCESSに文字データを渡し、それをキーにしてACCESSのテーブルから該当するデータをACCESSのテキストボックスに表示させたいのですが、検索・表示のプログラムはACCESSで記述ずみですので、VBからは引数を渡して、ACCESS側のVBAのプログラムを実行させたいのです。
その際、ACCESSの引数を渡すMDBが起動していなかったら、起動させて、上記の処理をさせたいのですが。
分かりづらい文章で申し訳ありませんが、どなたかアドバイスをお願い致します。

A 回答 (2件)

s_husky です。



×Set appAccess = Nothing
○Set acApp = Nothing

VBでは、Microsoft Access XX.X Objext Library への参照設定を!

※VB6.0 SP6 + Access 2003 で検証済みです。
    • good
    • 0

ここでは、Access.mdbが起動していない場合の例を示します。



<Access側の設定>

Public Sub UpdateForm1(ByVal frmName As String, _
                ByVal txtName As String, _
                ByVal strValue As String)
  DoCmd.OpenForm frmName
  Forms(frmName).Controls(txtName).Value = strValue
  DoCmd.Close acForm, frmName
End Sub

※指定のフォームをオープンし、指定のテキストボックスに指定された値を代入した後にフォームを閉じます。

<VB側のコード>

Private Sub Command1_Click()
On Error Resume Next
  Dim acApp   As Access.Application
  Dim strDBPath As String
  Const DB_PATH As String = "D:\Temp\Test.mdb"

  Set acApp = New Access.Application
  With acApp
    .OpenCurrentDatabase DB_PATH
    .Run "UpdateForm1", "form1", "data", "XXX"
  End With
  acApp.Quit
  Set appAccess = Nothing
End Sub

※これで、Form1.data に連結しているテーブルの値は "XXX"に更新されます。

※これをヒントに応用して下さい。
    • good
    • 0

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