Page 659 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 通常モードに戻る ┃ INDEX ┃ ≪前へ │ 次へ≫ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ▼外部からDBを更新 レッサーパンダ 04/6/9(水) 13:32 ┣Re:外部からDBを更新 MJ 04/6/9(水) 15:03 ┣Re:外部からDBを更新...参考までに クロ 04/6/9(水) 15:23 ┗Re:外部からDBを更新 レッサーパンダ 04/6/9(水) 15:28 ─────────────────────────────────────── ■題名 : 外部からDBを更新 ■名前 : レッサーパンダ ■日付 : 04/6/9(水) 13:32 -------------------------------------------------------------------------
DB名、テーブル名、項目(更新対象のキーを含む)がわかっている場合で、 その内容をDBを開かずに簡単に更新する方法はありますか? (BATファイルでクエリを実行する感じで・・。) 実行するクエリは更新したいDBの中にはありません。 例) 更新対象DB :D:\TEST\データ.mdb 更新対象TBL:名簿 キー:出席番号 更新内容:そのレコードのキー以外(名前、性別) 更新前 出席番号 名前 性別 1 AAA 男 2 ABB 男 3 ACC 女 4 ADD 女 「出席番号2番の名前をAABに、性別を女に変更する」 更新後 出席番号 名前 性別 1 AAA 男 2 AAB 女 3 ACC 女 4 ADD 女 できるのでしたら、この場合のBATの記述とクエリの記述を教えてください。 よろしくお願い致します。 |
こんにちは。 空のMDBを用意して、新規モジュールにて、 下記のようなプロシージャを記述します。 次に、AutoExecマクロのプロシージャの実行で 記述したプロシージャを指定しておき、 あとは、BATファイルにて、 このMDBを起動させるようにしては如何でしょう。 Public Function 名簿更新() Dim DB As DAO.Database Set DB = OpenDatabase("D:\TEST\データ.mdb") DB.Execute "UPDATE 名簿 SET 名前 = 'AAB', 性別 = '女' WHERE 出席番号 = 2", dbFailOnError DB.Close Set DB = Nothing Application.Quit End Function |
WSHファイルでの処理(ADO) テキストエディタ(メモ帳可)で以下を書いてテキストファイル名を XXXX.vbsして下さい。 ****ここから**** Dim ct,rs Set ct = CreateObject("ADODB.Connection") ct.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=D:\TEST\データ.mdb" Set rs = ct.Execute ("UPDATE 名簿 SET 名簿.名前 = '" & InputBox("変更後の名前を入力") & "', 名簿.性別 = '" & InputBox("変更後の性別を入力") & "' WHERE 出席番号=" & InputBox("出席番号を入力") & ";") MsgBox "更新しました" ct.close Set ct=nothing ****ここまで**** ご参考までに |
MJさん、クロさん ありがとうございました。 参考にさせていただきます。 |