- ベストアンサー
VBとACCESSを接続したい
VBの画面からACCESSのテーブルを取得したいのですが どういうふうに記述すればいいかわかりません。 サンプルプログラムとともにおしえてください。 DAOというので接続したいと思っています。
- hitomi11111
- お礼率23% (3/13)
- Visual Basic
- 回答数3
- ありがとう数0
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
まず、参照設定でMicrosoft DAOにチェックをつけます。 で、コーディングですが、以下のような感じです。 不明点とかあったら、補足にてご質問ください。 Private Sub Command1_Click() Dim DB As DAO.Database Dim RST As DAO.Recordset Dim SQL As String 'データベースを開く Set DB = DAO.OpenDatabase("X:\XX\db1.mdb") '「テーブル1」をスナップショット(読み込み専用モード?)で開く Set RST = DB.OpenRecordset("テーブル1", dbOpenSnapshot) 'テーブル1のID列を書き出します。 Do Until RST.EOF Debug.Print RST![ID] RST.MoveNext '次のレコードに移動 Loop 'レコードセットとデータベースを閉じる RST.Close DB.Close End Sub
その他の回答 (2)
- xruz
- ベストアンサー率50% (72/143)
こんにちはxruzです。 MSのライブラリはいかがでしょうか? 下記URLの左側のメニューで VisualBasic6.0ドキュメント →VisualBasicドキュメント -→MicrosoftDAO3.60 結構やさしく書いてありますのでご覧になって損はありません。
- a-kuma
- ベストアンサー率50% (1122/2211)
参考URLのところで簡単な手順だけはわかるとおもいます。 蛇足かもしれませんが、忠告をひとつ。その Access のテーブルは共有される、 つまり、複数の VB の画面から同じに更新されたりはしないですよね? Access って、そういう用途に耐えられるようには作られていませんので、注意 してください。 # ちなみに、私は計算機屋さんですが、VB や Access なんかは使ったことは # 無いので、自信無しです。
関連するQ&A
- VBからACCESS2007に接続・・・
VB6.0からACCESS2007へDAO接続しようとしているのですが、 拡張子が.mdbではなく、.accdbとなっているためか、接続できません。 なにか方法をご存じの方いらっしゃいましたら教えてください。。
- ベストアンサー
- Visual Basic
- VBからMDBのアクセス
VB初心者質問です。 開発環境 VB6 SP6 WIN2000 VB6からMDBの検索の手順について教えてください。 (質問) フォームに検索値用のテキストBOXを配置し、 その値でMDBのテーブルを検索し1件抽出する。 (検索値はテーブルのキー項目のため重複なし) 現在 Microsoft DAO 3.6 Object Library を参照しているので DAOで検索を行いたい。 知りたいことは検索の方法と 見つからなかった場合の判定についてです。 サンプルなどあればお願いいたします。
- ベストアンサー
- 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
- VB2008からAccess2007へのDAO接続でエラーになります。
VB2008からAccess2007へのDAO接続でエラーになります。 VB2008EEからDAO3.6を利用し、Access2007(*.accdb)に接続しようとしていますが、 エラーが発生してしまい、接続できません。 エラーの内容は下記のとおりです。 実行時エラー '3343': データベースの形式 'XXX' を認識できません。 Access2000のデータベース(*.mdb)には普通に接続できています。 Accessのバージョンを問わずに接続したい場合、どうすればよいのでしょうか? 参考までに現在のコードを記載しておきます。 ※DAO3.6に参照設定してあります。 Imports dao Module modConnectDb Public Function DaoConnect(ByVal strDb As String) As Boolean 'strDb:データベースのファイルパス Dim Ws As dao.Workspace Dim DbE As dao.DBEngine Dim Db As dao.Database Dim strMsg As String Try DbE = New dao.DBEngine Ws = DbE.Workspaces(0) Db = Ws.OpenDatabase(strDb) Catch ex As Exception strMsg = "エラー番号 " & Str(Err.Number) & vbCrLf & _ Err.Source & " でエラーが発生しました。" & vbCrLf & Err.Description MsgBox(strMsg, vbExclamation, "エラー") End Try End Function End Module
- ベストアンサー
- Visual Basic
- VB6.0を使ってAccessに固定長インポートしたい
いつもお世話になっております。 タイトルの通りなのですが・・・(^-^; 「Accessを開いて(開いた状態で)」というわけではなく、 VB上でTxtファイル(固定長)をAccessのテーブルにインポートしたいのです。 DAO、ADO等の指定は無いとするとどのようなやり方があるのでしょうか? ご教授いただきたいです。
- ベストアンサー
- Visual Basic
- VB6.0でACCESSのコマンドを実行するには?
教えてください。よろしくお願いします。 VB6.0のプログラムからACCESSに文字データを渡し、それをキーにしてACCESSのテーブルから該当するデータをACCESSのテキストボックスに表示させたいのですが、検索・表示のプログラムはACCESSで記述ずみですので、VBからは引数を渡して、ACCESS側のVBAのプログラムを実行させたいのです。 その際、ACCESSの引数を渡すMDBが起動していなかったら、起動させて、上記の処理をさせたいのですが。 分かりづらい文章で申し訳ありませんが、どなたかアドバイスをお願い致します。
- ベストアンサー
- Visual Basic
- VB2005でACCESSの処理
VB5.0でACCESS(DAOを利用)を使っています。VB.NETが発表された時早速購入挑戦しましたが、データベースへの接続がスムーズに移行できそうになくgive-upしました。.NETは Windowsのprofessinal版でしか利用できなっかたのですがVB2005ではかなりその制限がゆるんだようです。 Microsofthへ電話したりHPで調べましたが、よくわからなかったので質問です。 1..NET系ではデータベースがXML志向のようですが、これってシークエンシャルファイルで使いにくいように思えますが、うまくいくのでしょうか? 2.DAOはVB5.0 6.0感覚で使えるのでしょうか? 3.上記のようなことが学べるVB2005の導入のいいトレーニングコースを紹介してください。 よろしくお願いいたします。
- ベストアンサー
- Visual Basic
- VB2005を使ってACCESSのテーブルを別のデータベースにエクスポートさせるには?
例えば、VB2005を使ってACCESSのA.mdbにあるテーブルをB.mdbにエクスポートさせるには、どのようなプログラムを書けば良いのでしょうか? ちなみに、ACCESSのテーブルをデータセットに取得して、別のテーブルに書き込むと言うようなものを書いて見ましたが、処理が非常に遅いので使えませんでした。
- ベストアンサー
- その他MS Office製品
- Access 2000 の VB での テーブル作成について質問です。
下記のようにAccess 2000のVBからDAOを使ってテーブルを作っておりますが、 作るフィールドに規定値の設定もVBからできないのでしょうか?DAOだと無理なのでしょぅか? 教えてください Dim db As DAO.Database Dim tbdef As DAO.TableDef Dim flID As DAO.Field Set db = CurrentDb Set tbdef = db.CreateTableDef("テーブル") Set flID = tbdef.CreateField("ID", dbInteger) tbdef.Fields.Append flID db.TableDefs.Append tbdef db.Close: Set db = Nothing
- ベストアンサー
- Visual Basic
- AccessのVBにて、自動でODBC接続してリンクを自動で張るプログラムを作りたいのですが。。。
AccessのVBで、自動でODBC接続(Oracle)してリンクを張るプログラムを作りたいのですが、参考になるようなサイトを教えて頂けないでしょうか? 良いサイトがなかなか見つからなくて。 ※リンクテーブルの個数が多いので、別ファイルか何かでテーブルを指定したいと思っています。
- ベストアンサー
- Visual Basic