2016-08-02 1 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

Могу ли я спросить вас, почему вы не просто отбросить этот столбец с SQL? Или просто попробуйте его с помощью 'dbs.TableDefs ([tableName]). Fields.Delete fieldToDrop' – lokusking

ответ

5

Если вы хотите использовать DAO TableDef методы уроните поля используйте Database.TableDefs(tableName).Fields.Delete fieldToDrop как @Lokusking suggested.

Однако я думаю, что это проще просто выполнить DDL ALTER TABLE statement уронить поле:

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 
Смежные вопросы