スポンサーリンク

[Excel for VBA] ADOによるDatabase接続で情報を更新する。

ExcelでユーザーフォームとVBAを使っていろいろとやってます。
昔はAccessプラットフォームのものだったり、簡単なものはVisual.Studio使うのですが、Excelじゃないと駄目な理由があって、制約があるExcelと使ってます。

ところで、VBAでADOを使用したAccess Database接続で情報の更新(UPDATE)を行いますが下記のようなサンプルコードとなります。

Sample Code

Sub sample1()
Dim objCn As New ADODB.Connection
Dim strSQL As String

With objCn
.Provider = "Microsoft.Jet.OLEDB.4.0"
.Properties("Extended Properties") = "Excel 8.0"
.Open ThisWorkbook.Path & "\" & ThisWorkbook.Name
End With

strSQL = ""
strSQL = strSQL & " UPDATE [顧客マスタ2$]"
strSQL = strSQL & " SET"
strSQL = strSQL & " 顧客名 = '名前'"
strSQL = strSQL & " WHERE"
strSQL = strSQL & " 顧客番号 = 10001"

objCn.Execute (strSQL)

objCn.Close
Set objCn = Nothing
End Sub

別の方法としは以下の様なやり方もあります。

Dim cn As New ADODB.Connection
Dim db_Path As String
Dim strSQL As String
db_Path = “C:\Users\Username\Documents\12345.db”
cn.Open (“Provider = Microsoft.Jet.OLEDB.4.0;Data Source=” & db_Path)

strSQL = “”
strSQL = strSQL & ” UPDATE T_UserID”
strSQL = strSQL & ” SET”
strSQL = strSQL & ” Passwords = ‘” & update_pass & “‘”
strSQL = strSQL & ” WHERE”
strSQL = strSQL & ” k_ID = ‘” & login_user & “‘”

cn.Execute (strSQL)

cn.Close
Set cn = Nothing

———————————————————————————-

ADOはSQL構文を使用しますので、次のお約束は覚えておいてください。

UPDATE テーブル名 SET フィールド名=値1フィールド名=値2 WHERE 更新条件

よく間違えるのは。。。

SELECT * FROM t_data WHERE f_id = ’UserID’

f_idというフィールドが’UsereID’という文字列のレコードを全て抽出します。
文字列は、「’(シングルクォーテーション)」で括るのがルールです。

今話題の商品や、その他のおすすめはこちら

【Microsoft ストア限定】3点セット:Surface Pro (i5 / 256GB / 8GB モデル) + 専用 タイプ カバー (ブラック) + 専用 ペン (プラチナ) 【純正】JHH-00002
マイクロソフト
はっきり言って家の中、外出先で使うにはこれ一台ですべてOK! 私も使っていますがこれ1台ですべて対応できるのでディスクトップマシンの使用頻度が下がりました(^-^;
Bose QuietComfort 35 wireless headphones II ワイヤレスノイズキャンセリングヘッドホン Amazon Alexa搭載 ブラック
BOSE(ボーズ)
¥40,700(2019/10/31 23:28時点)
上のSurface Proとセットで使用していますが、さすがBOSE! ほかのヘッドホンなどまったく使う気がしなくなるほど素晴らしいです。
Microsoft Office 365 Solo (最新 1年版)|オンラインコード版|Win/Mac/iPad|インストール台数無制限(同時使用可能台数5台)
マイクロソフト
¥12,019(2019/10/31 23:37時点)
Microsoft Officeはパッケージで買う時代は終わり、これからは安価に最新版をすべてのパソコンにインストールする時代です。
カスペルスキー セキュリティ (最新版) | 3年 5台版 | オンラインコード版 | Windows/Mac/Android対応
カスペルスキー
¥11,250(2019/10/31 23:06時点)
3年間のコストは最安で、機能が充実しておりTRENDMICROよりも軽く、Symantecのように不具合も少ないおススメのアンチウィルスソフトウェア
スポンサーリンク
プログラム言語
この記事を下記のSNSでシェアをする。
コス太郎をフォローする
スポンサーリンク
徒然雑草