2016-08-02 10 views
3

私はMS Accessで作成したテーブルから指定フィールドを削除する機能を持っています。参考のためにthisの質問を使用しました。これをどのようにして特定のフィールドに削除できますか?Access VBAのテーブルからフィールドを削除するには

Private Function removeFieldsFromIIPM(tableName As String, fieldToDrop As String) 

    Dim dbs As Database 
    Dim field As field 

    Set dbs = CurrentDb() 
    Set field = dbs.TableDefs([tableName]).Fields(fieldToDrop) 
    dbs.TableDefs([tableName]).Fields.Delete field.Name 
    dbs.Close 
    TableDefs.Refresh 

End Function 
+1

私は、あなたを聞いても?あるいは 'dbs.TableDefs([tableName])で試してみてください。Fields.Delete fieldToDrop' – lokusking

答えて

5

あなたは@Lokusking suggestedとして、Database.TableDefs(tableName).Fields.Delete fieldToDropを使用し、あなたのフィールドをドロップするようにDAOにTableDefメソッドを使用したい場合:ここで私はこれまで持っているものです。

私はそれだけでフィールドをドロップするDDL ALTER TABLE statementを実行する方が簡単だと思うしかし:あなたはSQLでその列をドロップするだけではいけない理由

Private Function removeFieldsFromIIPM(tableName As String, fieldToDrop As String) 
    Dim strDrop As String 

    strDrop = "ALTER TABLE [" & tableName & "] DROP COLUMN [" & fieldToDrop & "]" 
    CurrentDb.Execute strDrop, dbFailOnError 
End Function 
関連する問題