「徒然雑草コノヨノナカ ザッソウセイシンデ タチムカエ!」このホームページには広告アフィリエイトおよび広告宣伝・プロモーション・商品広告品レビューが含まれています。

[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'という文字列のレコードを全て抽出します。
文字列は、「'(シングルクォーテーション)」で括るのがルールです。

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

SALONIA サロニア | スピーディーイオン ドライヤー 【ブラック】 ヘアドライヤー 大風量 速乾 軽量 マイナスイオン SL-013BK
SALONIA(サロニア)
¥5,918(2024/05/25 18:51時点)
【2.3㎥/minの大風量】ドライ時間30%短縮を実現。面倒なドライ時間を短縮できる大風量ドライヤー


ジェンガ ゲーム JENGA 天然木使用のオリジナル ブロックゲーム スタッキングタワーゲーム 6才以上 プレイヤー人数1人以上 子供用パーティーゲーム ファミリーゲーム クリスマスおもちゃ クリスマスギフト A2120 正規品
ハズブロ(HASBRO)
¥2,592(2024/05/25 10:40時点)
オリジナルの木製ブロックゲーム:リスクを冒す勇気がありますか?タワーを崩さないようにブロックを1本ずつ抜いて上に積んでいきましょう!子供も大人も楽しめるジェンガゲームは、何世代にもわたり愛されてきた木製ブロックバランスゲームです。

【Amazon.co.jp限定】タオル研究所 [ボリュームリッチ] #003 フェイスタオル スモーキーブルー 5枚セット ホテル仕様 ふかふか 高速吸水 綿100% 耐久性 毛羽落ち少ない 【選べる10色】 Japan Technology
タオル研究所
¥1,890(2024/05/25 07:06時点)
類似品にご注意:タオル研究所のイメージを利用してシリーズを展開することにより、お客様が間違えて購入され、弊社に苦情の電話が入っております。タオル研究所という名称をよく確認してご購入ください。

Amazonベーシック ヨガマット 厚め 12mm キャリーストラップ付 トレーニングマット ストレッチマット ピラティスマット 188×61×1cm ブラック
Amazonベーシック(Amazon Basics)
¥2,086(2024/05/25 07:58時点)
【素材】NBR (ニトリルブタジエンゴム)。軽量で丈夫な耐久性のあるフォームで作られています。


【Amazon.co.jp限定】バッファロー microSD 128GB 100MB/s UHS-1 U1 microSDXC【 Nintendo Switch 対応 】V10 A1 IPX7 Full HD RMSD-128U11HA/N
バッファロー
¥1,980(2024/05/24 22:46時点)
※個体により製品本体のデザイン・表記が一部異なる場合がございますが仕様上問題ございません。 (個体により製品本体にA1の印字がない場合がございますが、アプリケーション パフォーマンスクラス1に対応しております。)

Anker PowerLine III Flow USB-C & USB-C ケーブル Anker絡まないケーブル 100W 結束バンド付き USB PD対応 シリコン素材採用 Phone 15 /15 Pro /15 Plus Galaxy iPad Pro MacBook Pro/Air 各種対応 (1.8m ミッドナイトブラック)
Anker
¥1,890(2024/05/25 06:05時点)
かつてない柔軟性:ケーブル内部の銅線をグラフェンで覆い、外装にシリコン素材を使用した3層構造を採用し、従来のケーブルにはないやわらかさを実現しました。肌に優しい使い心地をお楽しみいただけます。

Anker Magnetic Cable Holder マグネット式 ケーブルホルダー ライトニングケーブル USB-C Micro USB 他対応 デスク周り 便利グッズ (ブラック)
Anker
¥1,690(2024/05/25 10:13時点)
デスク周りをスマートに:内蔵マグネットと専用マグネットクリップを使用して、直径3.5mmまでのライトニングケーブルやUSB-Cケーブルを確実に固定。デスク周りを洗練された状態に保ち、作業効率を最大限に引き上げます。

ATEngeエアダスターAC電源、3mエクストラロングケーブル付き。2スピードエアダスター500W/260W、収納に便利な吊り下げリング付き。 パソコン/キーボード/エアコン/タワーファン/プリンターなどのホコリ取りに。
ATEngeJP
¥6,299(2024/05/25 22:41時点)
電動エアダスター▶【18kPa風圧】このエアダスターは5.1OZの風力を持続して、風圧18kPaで、庭やオフィスの電子機器についた頑固なホコリやゴミを取り除くことができます。(バッテリー不要、AC100-120V)