Microsoft Access Club >DAO入門講座 >このページ >次頁 < 前項  サイト内検索
 

オブジェクトの削除 - Deleteメソッド : DAO入門講座



DAOを利用しテーブルやクエリ、それぞれのフィールドを削除することができます。これらはデータベースオブジェクト機能の含まれます。

  • 各コレクションのDeleteメソッドを利用します。
  • 削除に際しては、警告メッセージが表示されません。
  • 一旦削除すると、元に戻すことができません。

Deleteメソッド

Deleteメソッドを用いてテーブルを削除すると、フィールドや格納されているレコードも同時に削除されます。

テーブルの作成

テーブルを以下のとおり作成します。

売上日 社員名 性別 売上額 職種
2004/01/23 橘 修平 男性 52100 一般職
2004/02/02 柴田 喜一 男性 654100 技能職
2004/02/04 柴田 喜一 男性 7892510 技能職
2004/03/25 正道 良一 男性 4875210 薬剤師
2004/04/12 田中 邦子 女性 785100 一般職
2004/04/30 田中 邦子 女性 4789210 一般職
2004/07/29 草薙 良子 女性 120310 医師
2004/08/10 田中 幸恵 女性 7986620 一般職
2004/09/30 中村 幸三 男性 477123 技能職
テーブルの削除

Subプロシージャ MyTableDelete を作成します。このプロシージャを実行すると、売上げ管理テーブル がデータベースより削除されます。削除に際して、警告メッセージ等が表示されないのでIFステートメントを用いてユーザーに注意を与えます。

Sub MyTableDelete()

On Error GoTo エラー

    Dim db As DAO.Database
    Dim strTableName As String
    Dim strMsg As String

    Set db = CurrentDb
    
    strTableName = "売上げ管理" ' --- A
    strMsg = "テーブル名 : " & strTableName & " を削除します。"
    
    If MsgBox(strMsg, vbCritical + vbOKCancel) = vbOK Then
        db.TableDefs.Delete strTableName ' --- B
        MsgBox "削除が完了しました。"
    End If
        
    db.Close: Set db = Nothing
    
    Exit Sub
    
エラー:

    MsgBox Err.Number & " : " & Err.Description
    Exit Sub

End Sub
解説
  1. 削除するテーブルを指定します。
  2. Deleteメソッドを用いてテーブルを削除します。

テーブルを削除する場合は、他にいろいろな方法があります。

  1. DeleteObjectメソッド
    以下のようなVBAを記述します。
    DoCmd.DeleteObject acTable, "テーブル名"
  2. データ定義クエリー
    以下のSQLを実行します。
    DROP TABLE テーブル名
  3. マクロアクション
    「オブジェクトの削除」アクションの引数にテーブル名を指定します。
フィールドの削除

Subプロシージャ MyFieldDelete を作成します。このプロシージャを実行すると、売上げ管理テーブルの性別フィールドがデータベースより削除されます。削除に際して、警告メッセージ等が表示されないのでIFステートメントを用いてユーザーに注意を与えます。

Sub MyFieldDelete()

On Error GoTo エラー

    Dim db As DAO.Database
    Dim tbdef As TableDef
    Dim strMsg As String

    Set db = CurrentDb
    Set tbdef = db.TableDefs("売上げ管理") ' --- A
    
    strMsg = "フィールド名 : 性別 を削除します。"
    
    If MsgBox(strMsg, vbCritical + vbOKCancel) = vbOK Then
        tbdef.Fields.Delete "性別" '--- B
        MsgBox "削除が完了しました。"
    End If
        
    db.Close: Set db = Nothing
    
    Exit Sub
    
エラー:

    MsgBox Err.Number & " : " & Err.Description
    Exit Sub

End Sub
解説
  1. 売り上げ管理テーブルを参照します。
  2. Deleteメソッドを用いてフィールドを削除します。

関連ページ

2005/07/23

ページの先頭へ 前ページへ戻る

 


オブジェクトの削除 - Deleteメソッド : DAO入門講座


 

-Microsoft Access Club-

年額2,400円でドメインネームサーバーをご用意します。自宅サーバ構築時にご利用下さい。自宅サーバーは応用範囲が広いです。
年額2,400円でドメインネームサーバー。
自社・自宅サーバ構築時にご利用下さい。
やはり、自前サーバーは応用範囲が広いです。