- ベストアンサー
VB6.0でACCESSのコマンドを実行するには?
教えてください。よろしくお願いします。 VB6.0のプログラムからACCESSに文字データを渡し、それをキーにしてACCESSのテーブルから該当するデータをACCESSのテキストボックスに表示させたいのですが、検索・表示のプログラムはACCESSで記述ずみですので、VBからは引数を渡して、ACCESS側のVBAのプログラムを実行させたいのです。 その際、ACCESSの引数を渡すMDBが起動していなかったら、起動させて、上記の処理をさせたいのですが。 分かりづらい文章で申し訳ありませんが、どなたかアドバイスをお願い致します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
s_husky です。 ×Set appAccess = Nothing ○Set acApp = Nothing VBでは、Microsoft Access XX.X Objext Library への参照設定を! ※VB6.0 SP6 + Access 2003 で検証済みです。
その他の回答 (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"に更新されます。 ※これをヒントに応用して下さい。