AD スポンサー

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

この記事は約3分で読めます。

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

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

Sample Code

[code lang=”vb”] 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
[/code]

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

[code lang=”vb”] 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
[/code]

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

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

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

よく間違えるのは。。。

SELECT * FROM t_data WHERE f_id = ’UserID’

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

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





【2022新登場】遠赤外線デスクヒーター Delmac 360°全方位発熱式パネルヒーター 筒型デスクヒーター 三段階温度調節 3/6/9時間タイマー付き 転倒自動OFF搭載 省エネパネルヒーター ひざ掛け付き オフィス 足元ヒーター 足冷え対策グッズ デスクワーク 部屋 年寄り 踏み型 ペット用(グレー)
Delmac
¥6,199(2023/01/04 20:28時点)
【新型!一体化筒型デスクヒーター】より実用性を高めた設計の追求により、Delmacは独自開発した「熱サイクル」防風構造の設計で発熱蓄熱を実現。断熱する天面カバー、発熱する床面パネルと吸湿発熱効果のあるひざ掛けを追加。720度全方位の立体集熱するにより、暖房効果の飛躍的な向上を実現。従来品と比べて5倍以上の超パワー・超大型発熱面積(合計5700mm²)だからこそ、足全体が放射された遠赤外線でしっかりとカバーされます。足元から冷えた不快感が一掃され、包み込むような温かさをすぐに実感できます。

アイリスプラザ キャットタワー ハンモック 爪とぎ コンパクト おもちゃ付き 据え置き型 仔猫にも グレー キャットランド 高さ155cm
アイリスプラザ(IRIS PLAZA)
¥6,004(2022/12/14 11:38時点)
【商品サイズ(幅×奥行×高さ)】:70×45×155cm 【付属品】:ねずみのおもちゃは取り外し可能。※予備のおもちゃが3つ


象印 加湿器 3.0L ホワイト EE-DC35-WA
象印マホービン(ZOJIRUSHI)
¥15,490(2023/01/04 20:30時点)
清潔な蒸気のスチーム式加湿器