• 締切済み

ExcelのvbaでAccessMDBのテーブル「説明」欄を更新したい

Excel2002マクロでAccessMDBにADOで接続しています Accessのデータベースウィンドウに表示されている テーブルの「説明」欄を更新しようとしています OpenSchemaメソッドで「説明」欄を取得することはできたのですが 更新する方法がわからず困っています よろしくお願いします

みんなの回答

  • mitarashi
  • ベストアンサー率59% (574/965)
回答No.1

ADOでは取得しかできない様で、DAOを使うしかなさそうです(参照設定要)。 参照URLのコードを参考に、更新も出来る様にしてみました。ご参考まで。 Sub test() Dim Prp As DAO.Property Const myComment As String = "秘密のコメント" Const tableName As String = "Table1" On Error Resume Next CurrentDb.TableDefs(tableName).Properties("Description") = myComment Select Case Err.Number Case 3270 Set Prp = CurrentDb.TableDefs(tableName).CreateProperty With Prp .Name = "Description" .Type = dbText .Value = myComment End With CurrentDb.TableDefs(tableName).Properties.Append Prp  Application.RefreshDatabaseWindow Case 0 Application.RefreshDatabaseWindow Case Else MsgBox CStr(Err.Number) & ":" & Err.Description End Select End Sub

参考URL:
http://www.accessclub.jp/bbs3/0128/superbeg44616.html
chocobee
質問者

お礼

詳細な回答、ありがとうございます! ADOでは更新できないんですね。。 この回答を元に処理内容を検討します

関連するQ&A

  • Access97VBAにてオブジェクトの説明欄の内容を取得したい

    ACCESS97のVBAにて開発をしています。 データベースウィンドウに表示される、各オブジェクトの説明欄の値(テーブルやフォームなど、オブジェクトを右クリック-プロパティにて、「説明」という欄に入力したもの)を取得したいのですが、指定の仕方がわかりません。 前提としては、Microsft DAO 3.5 Object Libraryを参照設定に追加してあります。 テーブル名やフォーム名は、DocumentオブジェクトのNameプロパティにて取得できたのですが・・・ ご存知の方がいらっしゃいましたら、是非教えてください。

  • MS_SQLでテーブルの更新日を知りたい

    Microsoft SQL Server 7.0 についての質問なのですが、テーブルの更新日を知るにはどうしたら良いでしょうか? Enterprise Manager でテーブルを参照すると、作成日は掲載されてますが更新日は表示されていません。Access2000からADOでSQL Serverに接続し、テーブルの最終更新日を得る方法がありましたら教えて下さい。 どうぞ宜しくお願い致します。

  • EXCEL VBA クエリーテーブルの更新

    EXCEL2007 ワークシートのクエリーテーブルの更新で、メールで毎日送られてくる同じ形式のCSVデータで更新したいのですが、ファイル名はいつも違います。ダイアログボックスを開かずに、ファイル名(パスは固定)を指定して更新するマクロは作成可能でしょうか? OUTLOOK で添付ファイルを指定のパスへ保存するマクロはできています。 同じファイル名で保存するのは避けたいと思っています。 外部データ範囲のプロパティの”ファイル名確認のチェック欄”をはずすとファイル名が同一の必要があり出来ないと思います。 ダイアログボックスでファイルをしてするとオペレーターが間違う可能性があるので、 OUTLOOKで保存したファイル名を指定して更新したいのです。 よろしくお願いいたします。

  • テーブルの更新日時はどのタイミングで更新される?

    データベースウインドウに表示されるテーブルの更新日時はどのタイミングで更新されるのでしょうか テーブルにレコードを追加しても更新されません。 ヴァージョンは2003です よろしくお願い致します。

  • データベースウィンドウを表示しないで、データベースウィンドウを更新する

    http://support.microsoft.com/kb/304256/ja マイクロソフト技術情報で、RefreshDatabaseWindow メソッド は、 Access2000形式で保存されたプロジェクト(ADP)で動作しませんと出ており、データベースオブジェクトの作成、削除、または名前の変更が行われた後で、データベース ウィンドウを更新する処理が、データベースウィンドウを表示している状態でしか更新できません。データベースウィンドウが表示されていない状態で、データ入力フォームが表示されて、何かの処理がされたときにデータベースウィンドウを最新の状態に更新したい場合、何か方法をご存知の方いらっしゃいましたらご指導ください。 テーブル作成をした後、テーブルにアクセスする処理をしようとするとテーブルがないため、エラーになってしまうことがあるのですが、一時的にデータベースウィンドウを表示させてF5を押下して最新にして作成したテーブルが表示されるとエラーは発生しません。

  • ワークテーブル(ローカル)からDBサーバーへの更新について

    Access2003+PostgreSQLにて販売管理システムを構築しています。 レコードを見る・更新する時はサーバーのレコードを ワークテーブル(ローカルのmdbファイル内のテーブル)にコピーし 値を変更後、ローカルからサーバーにデータを戻す、といった処理をしたいと考えています。 サーバーからレコードをコピーする際は、ODBC接続&ADOにて サーバーのレコードを一旦レコードセットに格納し 「CurrentProject.Connection.Execute SQL文」で ワークテーブルにINSERTしています。 ここで質問なのが、ワークテーブルからサーバーにレコードを戻す際は ワークテーブル・サーバーへはそれぞれどの方法で接続すればいいでしょうか。 例えばサーバーへODBC&ADOで接続した場合、ワークテーブルの取扱方法(接続方法)が分かりません。 サーバー:ADO、ワーク:DAO、みたいな事するのでしょうか。 スマートな方法がお分かりの方は教えて下さい。 宜しくお願い申し上げます。

  • Excel → Access データをインポート

    OS WinXP Pro SP2 Office 2000 SP3 はじめまして。 マクロ(Excel VBA)を記述しているExcelファイル(Xls_Macro.xls)とインポート用データのExcelファイル(Xls_Data.xls)は別々のファイルになっていて、マクロを実行するとExcelファイルとインポート用データのExcelファイルのデータをAccessファイル(Access.mdb)にインポートする仕組みを開発しています。 インポート用データのExcelファイル(Xls_Data.xls)をADOで接続しレコードセットでデータを取得し、Accessファイル(Access.mdb)もADOで接続しレコードセットの「.AddNew」でAccessファイル(Access.mdb)に更新しようと考えています。 この考え方で問題ないのでしょうか!? もっと簡単な方法があるという方や、何か良い方法をお持ちの方 いらっしゃいましたら、よろしくお願いいたします。

  • Accessでテーブルが更新されたとき、TXTを吐くようには出来ないか??

    こんにちは、 AccessのDBにISDNで外から見に行こうとしています。 しかし、すごく重くて上手く動作しません。 データベースのAccessが更新されるたびにTXTで更新したところを 自動的に投げるってのは、できないものなのでしょうか? データベースのパソコンに負担をかけたくないので「マクロ」は 使えません。 どうか、よろしくお願いします。 また、別の方法でもないか良いアイディアがありましたら お教え下さい。

  • AC2002でSQLServerのテーブルをリンクしたい

    ACCESS2002で、ADOを使ってSQLServer2005のテーブルにリンクをしたいのですが、リンクを張るときと解除するときのコードはどのようにしたら良いのでしょうか?接続はできるのですが、ACCESSでテーブルが表示されるようにしたいのです。よろしくお願いします。

  • ACCESS2000で更新のあったテーブルの確認

    お世話になっております。 連続の投稿となり大変恐縮です。 他人が作成した、ACCESS2000+VBAのアプリケーションが あるのですが、更新の(Update、Insert等)あった テーブルを確認するにはどうしたら良いでしょうか? ACCESSの画面(多分データーベースオブジェクト)の 画面でのテーブルの「更新日時」はどうもテーブル に更新があっても新しくならないように見えます どなたか、教えて頂けるとありがたいです。