プロが教える店舗&オフィスのセキュリティ対策術

タイトル通りなんですけど、
テーブルにあるフィールドを追加、削除したいのですが、
どうしたらいいのか全くお手上げ状態です。
助けてください。

ADOを使用しています。
お願いします。

A 回答 (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などで調べて下さい。
では。
    • good
    • 1
この回答へのお礼

やってみたところ、もののみごとに消えたり追加されたりしてくれました。
本当にありがとうございました!

お礼日時:2001/12/27 17:12

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」をチェックしてください

御期待にそえれば...

参考URL:http://homepage2.nifty.com/inform/vbdb/index.html
    • good
    • 0

それは、テーブルの定義 (フィールドの数や型) を変更したいという事でしょうか?

この回答への補足

フィールドの数をへらしたかったんです。
返事おそくなりまして、すみません。

補足日時:2001/12/27 17:11
    • good
    • 0

http://www.zdnet.co.jp/help/howto/win/win2000/00 …

上記にアクセスして勉強してください。

この回答への補足

レコードセットの削除、追加はできるんです。
上記のURLに行ってみましたが、該当するものが存在しませんでした・・・。
せっかく教えてくれたのにすみません。

補足日時:2001/12/27 16:20
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています