トップに戻る

ODBCをもちいた、エクセルによる、ネットワークデータベース
VBAをもちいて、SQLによる、データベースの更新

つきに、SQLによる、サーバファイルの更新を扱ってみましょう。
これは、VBAを、もちいます。
今回は、VBAの参照機能を利用して、以下のものを
取り入れてください。
VBAで、参照すると、ADOのコマンドを使えるようになります。
これで、SQLを利用すれば、参照、更新、追加、を利用できます。
参照自体は、エクセルの機能で、かなりカバーできるので、今回は、SQLによる更新をテーマに挙げてみます。

発注マスターの状態、手配済みを、受入済みに変えて見ましょう。

以下に、vbaのソースを書きました。
Public Sub update()

     '接続の設定
     Dim con As New ADODB.Connection
     'レコードセットの設定
     Dim rs As New ADODB.Recordset

     Dim sql As String

     'SQL文を作る
     '発注コードのHC0010は、受け入れたので、手配済みから
     '受入済みに更新する。

     sql = "update `sheet5$` set 状態='受入済み' where 発注コード='HC0010'"

     'odbcのよって、接続する。
     'ODBCのDSNの名前は、今回はanotherpcodbcを作り利用しています

     con.Open ("anotherpcodbc")

     'SQLの実行

     Set rs = con.Execute(sql)

     'odbcの切断

     con.Close

End Sub
これを、実行するだけで、期待の結果が得れます。
発注マスターの発注コードHC0010の受入状態が、手配済みから、受入済みに変わります。
発注マスターのクエリの上記コードの実行前と、実行後の状態を確認してください。
VBAを利用すれば、更新クエリをいろいろアレンジして、作れば、便利なものが、できると思いますので、応用は、各自で、行ってください。