• ベストアンサー

VB6.0でACCESSのコマンドを実行するには?

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

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

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

s_husky です。 ×Set appAccess = Nothing ○Set acApp = Nothing VBでは、Microsoft Access XX.X Objext Library への参照設定を! ※VB6.0 SP6 + Access 2003 で検証済みです。

その他の回答 (1)

noname#22222
noname#22222
回答No.1

ここでは、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"に更新されます。 ※これをヒントに応用して下さい。

関連するQ&A