- ベストアンサー
VB6.0でACCESSのコマンドを実行するには?
教えてください。よろしくお願いします。 VB6.0のプログラムからACCESSに文字データを渡し、それをキーにしてACCESSのテーブルから該当するデータをACCESSのテキストボックスに表示させたいのですが、検索・表示のプログラムはACCESSで記述ずみですので、VBからは引数を渡して、ACCESS側のVBAのプログラムを実行させたいのです。 その際、ACCESSの引数を渡すMDBが起動していなかったら、起動させて、上記の処理をさせたいのですが。 分かりづらい文章で申し訳ありませんが、どなたかアドバイスをお願い致します。
- guratan2005
- お礼率49% (27/55)
- Visual Basic
- 回答数2
- ありがとう数0
- みんなの回答 (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"に更新されます。 ※これをヒントに応用して下さい。
関連するQ&A
- VB2005を使ってACCESSのテーブルを別のデータベースにエクスポートさせるには?
例えば、VB2005を使ってACCESSのA.mdbにあるテーブルをB.mdbにエクスポートさせるには、どのようなプログラムを書けば良いのでしょうか? ちなみに、ACCESSのテーブルをデータセットに取得して、別のテーブルに書き込むと言うようなものを書いて見ましたが、処理が非常に遅いので使えませんでした。
- ベストアンサー
- その他MS Office製品
- VBからのACCESSの起動に関して
開発環境:Visual Basic 2008/ACCESS 2000 VB2008よりACCESSを更新したり、ACCESSのレポートを使用したりする プログラムを作成しています。 その際に、1つのACCESSに複数のレポートを作成している事から、複数のプログラム からACCESSを起動させようとするとエラーとなってしまいます。 ACCESSをそれぞれ分けてしまえば問題ないですが、、、、 そもそも1つのACCESSファイルを複数からアクセス(複数のVBプログラム)するという事が 不可能なのでしょうか? あるいは、下記の記述にあるように、データベースを開こうとするかエラーである為、 開いているか確認の記述をし、既に開いているようだったら、その処理をとばすような事 をすれば問題ないのでしょうか??? 教えて頂きたいと思います。 よろしくお願いします。 《記述内容》 Dim ac As Object ac = CreateObject("Access.Application") With ac 'アプリケーションを表示する ac.Visible = True 'データベースを開く ac.OpenCurrentDatabase("C:\sample.mdb") '名前を指定してレポートを開く ac.DoCmd.OpenReport("R_一覧表", 2) 'acViewPreview 'レポートの最大化 .DoCmd.Maximize() 'オブジェクトの解放 System.Runtime.InteropServices.Marshal.ReleaseComObject(ac) End With ac = Nothing
- ベストアンサー
- Visual Basic
- ACCESS2003 VBAよりVB.NETを使った方がいい?
ACCESS2003 VBAよりVB.NETを使った方がいい? プログラマーでもないのですが、仕事でAccess2003でVBAを書いています。フォームにテーブルから引っ張てきたデータを表示させてデータを閲覧したり、データを加工してExcelにデータを吐き出したりしています。テーブルには10万件程度のデータがあります。 特に私は便利に使っているのですが、上司がVB.netとMYSQLでプログラム書いた方が楽じゃない?VB.NETよかったら買ってあげるよと言われました。買ってくれるのは嬉しいのですが、.netなんてやったこともないですし、DAOしか使ったことがなくADOなんて全くわかりません。 何かACCESS VBAよりVB.net+MYSQLのメリットって何かありますでしょうか?ちなみに業務で使うためのものなので、家からアクセスして何かするというのは考えていません。あくまで社内で使う時にメリットはあるでしょうか?
- ベストアンサー
- Visual Basic
- VBからACCESSのマクロを起動できますか?
VB6でACCESSのテーブルを参照しています。 そのMDBの中にあるマクロをVB側から起動できないでしょうか? 教えてください。 宜しくお願いいたします。
- ベストアンサー
- Visual Basic
- vb6のコンボボックスの操作について
おはようございます。 vb6+MDBの環境下で、コンボボックスについて質問です。 マスタとなるテーブルA(都道府県など)と、一般的(?)なデータを日々貯めていくテーブルBがあり、 Bに、Aのキーとなる値が保存されています。 テーブルデータBの表示・更新画面を作っているのですが、 テーブルAの内容を画面上のコンボボックスに選択項目としてADDして表示するところまでは出来たのですが、以下のことを実現するには、コンボボックスにどういう記述で実現するのかわかりません。 1.テーブルBに持っているAの都道府県コードに該当する項目を、Bのデータ選択時に表示したい。 【テーブルA】 Aのキーコード,都道府県名 【テーブルB】 Bのキーコード,Aのキーコード,住所… このような場合、イベント時にコンボボックスをどのように処理するようにソースを書けば実現できますか?
- ベストアンサー
- Visual Basic
- VBでAccessの最適化
VB6+Access2003でプログラムを作成しています。 Accessの最適化の方法について教えてください。 AccessのオプションにDBを閉じるときに最適化するというのがありますが そちらで最適化されるようにしておくほうがよいののでしょうか? VBで最適化するようにプログラミングしたほうがよいのでしょうか? (プログラム内で何度もAccessをOpen/Closeしています)
- 締切済み
- Visual Basic
- VBからMDBのアクセス
VB初心者質問です。 開発環境 VB6 SP6 WIN2000 VB6からMDBの検索の手順について教えてください。 (質問) フォームに検索値用のテキストBOXを配置し、 その値でMDBのテーブルを検索し1件抽出する。 (検索値はテーブルのキー項目のため重複なし) 現在 Microsoft DAO 3.6 Object Library を参照しているので DAOで検索を行いたい。 知りたいことは検索の方法と 見つからなかった場合の判定についてです。 サンプルなどあればお願いいたします。
- ベストアンサー
- Visual Basic
- ACCESS と VB でこんなプログラムを作ろうとしています。どうやれば・・
今、VB と ACCESS を 使って簡単なプログラムを作ろうとしています。 ACCESSの中にはテーブルが1つだけあります。 そのテーブルの中のデータをVB上の DATAGRIDに単純に表示します。 ここまではできました。 GRIDへの表示は一度ワークテーブルに入れて そこから表示するのではなくて、 直接そのテーブルから表示しています。 今、そのテーブルの項目にPATHとファイル名 が入っていて、そのPATHにファイルがなかったら GRIDに× あれば ○を表示したいのです。 一度ワークテーブルに入れているのであれば、 あとで、そのワークテーブルを開いて、 ループさせて、DIR でひとつひとつ調べて 更新すればよさそうなのですが、 あくまで直接開きたいのです。 または、一時的なワーク (SQLServer上の##~~~みたいな感じの EXEを閉じたら勝手に消えるようなイメージのテーブル) をACCESSで実現できるならそれでもよいです。 こういう場合、どうやったら ○ と× を表示することができるのでしょう? 困っています。助けてください。 よろしくお願いします。 環境 VB6 SP5 ACCESS2000 Windows2000 SP3
- ベストアンサー
- その他(データベース)
- VBとACCESSを接続したい
VBの画面からACCESSのテーブルを取得したいのですが どういうふうに記述すればいいかわかりません。 サンプルプログラムとともにおしえてください。 DAOというので接続したいと思っています。
- ベストアンサー
- Visual Basic
- VBの質問です
VB6を使って開発をしています。 AとB2つのMDBがあってAの全テーブルのデータをBの全テーブルにデータをコピーしたいのですがプログラムでどうやるのかがわかりません。 どなたかわかるかた私に教えてください。お願いします。
- ベストアンサー
- Visual Basic