- ベストアンサー
ADOをし使用して、Accessのテーブルの中のフィールドを消したいのですが。
タイトル通りなんですけど、 テーブルにあるフィールドを追加、削除したいのですが、 どうしたらいいのか全くお手上げ状態です。 助けてください。 ADOを使用しています。 お願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。maruru01です。 テーブルにあるフィールドの追加や削除は、ADOの拡張機能であるADOXを使用します。 まず、ADOと同じように参照設定でライブラリを追加します。 ライブラリ名は「Microsoft ADO Ext.2.5 for DDL and Security」です。(バージョンが2.5でないかも知れません。) そうしたら、後はADOとだいたい同じで、オブジェクト変数を宣言して、新規オブジェクトへの参照を代入します。 Dim cat As ADOX.Catalog Dim Tbl As ADOX.Table Set cat = New ADOX.Catalog cat.ActiveConnection = CurrentProject.Connection Set Tbl = cat.Tables![テーブル名] 'フィールドの追加 Tbl.Columns.Append "追加フィールド名", adWChar 'フィールドの削除 Tbl.Columns.Delete "削除フィールド名" Set Tbl = Nothing Set cat = Nothing Append、Deleteメソッドの引数など詳しいことは、MSDN Libraryなどで調べて下さい。 では。
その他の回答 (3)
- teppy
- ベストアンサー率50% (9/18)
Dドライブ直下"db2000.mdb"ファイル、"ABC"テーブル、"AAA"テーブルを削除するサンプルです '~~~~~~~~~~~~~~~~~~~~ Private Sub DelField_Click() Dim stDbName As String Dim stTblName As String Dim stFidName As String Dim stConnect As String Dim ADOCN As ADODB.Connection Dim ADOCAT As ADOX.Catalog stDbName = "D:\db2000.mdb" stTblName = "ABC" stFidName = "AAA" stConnect = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & stDbName & ";" Set ADOCN = New ADODB.Connection ADOCN.Open stConnect Set ADOCAT = New ADOX.Catalog ADOCAT.ActiveConnection = ADOCN ADOCAT.Tables(stTblName).Columns.Delete (stFidName) End Sub '~~~~~~~~~~~~~~~~~~~~ ※参照設定にて「Microsoft ADO Ext 2.5 DLL and Security」をチェックしてください 御期待にそえれば...
- simotetsu
- ベストアンサー率20% (1/5)
それは、テーブルの定義 (フィールドの数や型) を変更したいという事でしょうか?
補足
フィールドの数をへらしたかったんです。 返事おそくなりまして、すみません。
- asiasi
- ベストアンサー率0% (0/1)
http://www.zdnet.co.jp/help/howto/win/win2000/0007special/complus_vb/chapa/index.html 上記にアクセスして勉強してください。
補足
レコードセットの削除、追加はできるんです。 上記のURLに行ってみましたが、該当するものが存在しませんでした・・・。 せっかく教えてくれたのにすみません。
お礼
やってみたところ、もののみごとに消えたり追加されたりしてくれました。 本当にありがとうございました!