Alter Table не работает под MS Access 64 бит.Зачем? - PullRequest
2 голосов
/ 14 сентября 2011

Я пытаюсь написать простую функцию для изменения размера текстового поля в 64-разрядной версии MS Access под Windows 7. Сбой с ошибкой 3420, объект недействителен или больше не установлен.Почему это?Разве вы не можете изменить таблицу в коде под MS Access 64-битной версии?

Вот код:

Private Function ResizeSingleTextField(sTableName As String, _
                                       sFieldName As String, _
                                       iLength As Integer)

    ResizeSingleTextField = False

    Dim sSQL As String

    sSQL = "ALTER TABLE " & sTableName & " " _
    & "ALTER COLUMN " & sFieldName & " " _
    & "TEXT (" & iLength & ")"

    CurrentDb.Execute (sSQL)

    ResizeSingleTextField = True
    Exit Function

End Function


Public Sub TestIt()

    Dim result As Boolean

    result = ResizeSingleTextField("GregTest", "MyTextField", 12)

    Debug.Print result

End Sub

1 Ответ

1 голос
/ 14 сентября 2011

Это известная ошибка в этой версии Access.См. MS Knowledge Base Статья 2516493 .

Здесь приведено следующее выражение:

Ошибка исправления этого пакета исправлений
Предположим, что вы пытаетесь изменить структуру таблицы с помощью языка определения данных(DDL) запрос и оператор ALTER TABLE в 64-разрядной версии Microsoft Access 2010. Оператор ALTER TABLE включает параметр ALTER COLUMN.В этой ситуации вы получаете следующее сообщение об ошибке: Объект недействителен или больше не установлен .При попытке выполнить запрос DDL с помощью кода VBA появляется следующее сообщение об ошибке: Ошибка времени выполнения «3420»: объект недействителен или больше не установлен.

Исправление , который вышел в апреле, чтобы исправить проблему. Access 2010 Runtime Service Pack 1 вышел в августе 2011 года и в соответствии с примечаниями к выпуску содержит исправление для этой проблемы.

Access - «Объект недействителен или больше не установлен»ошибка возникает при попытке использовать запрос ALTER TABLE для изменения типа или размера поля.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...