2014-03-08 2 views
2

Я пытаюсь исправить проблему с базой данных MS Access (.mdb), которую я не создал, и она отлично работала на другом компьютере, который сломался, есть выпадающий список, чтобы выбрать из значения, которое должно заполнить таблицу под выпадающим меню с результатом запроса в зависимости от выбранного значения, то ошибка является Run-time error:Нельзя использовать свойство «Форма» в объекте «SubForm» в MS Access?

Метод «Форма» объект «_SubForm» не удался

Так я нажал на отладке, и Я получил список операторов if, которые проверяют выпадающее значение:

If dropdown = 1 Then 
    Forms!mylist![namelist subform].Form.RecordSource = "SELECT ... ;" 
Else 
If dropdown = 2 Then 
    Forms!mylist![namelist subform].Form.RecordSource = "SELECT ... ;" 
Else 

ошибка исходит от:

Forms!mylist![namelist subform].Form 

Я попытался выяснить тип объекта:

Debug.Print TypeName(Forms!mylist![namelist subform]) 

это печатное SubForm и в docs есть Form под SubForm свойствами , так что может вызвать эту проблему?

Извините, если этот вопрос глуп или очень прост, но я ничего не знаю о Visual Basic и всем выше, чем я узнал сегодня, чтобы исправить эту проблему, поэтому извините за это.

T думаю, что база данных создана на MS Access 2003, я пробовал базу данных на Access 2003 и 2007 на XP SP3 и Windows 7, но она не работала, но она работала на Access 2007 на XP SP3 на компьютере, который У меня больше нет доступа.

И что может быть причиной этой проблемы? это проблема кодирования или я не вижу некоторых зависимостей?

+0

У вас есть правильные имена (http://wiki.lessthandot.com/index.php?title=Referring_to_a_control_on_a_subform)? Вы пробовали компиляцию? Были ли вы уплотнены и отремонтированы? Вы декомпилировали? Иногда вам может понадобиться заново создать форму, скопировав ее в текст и импортируя. – Fionnuala

+0

@ Проблема в том, что я ничего не знаю о VBA, поэтому я не знаю, как сделать то, что вы предложили. – Pierre

+1

Половина материала, который я предложил, не был VBA, например, декомпилировать http://stackoverflow.com/questions/3266542/how-does-one-decompile-and-recompile-a-database-application, compact и repair http: // office.microsoft.com/en-ie/access-help/compact-and-repair-an-access-file-HP005187449.aspx – Fionnuala

ответ

1

Когда у вас есть проблемы с формой, существуют различные вещи, чтобы проверить:

1

Здесь следует использовать точечные обозначения.

И если предположить этот код работает в той же форме, то это должно работать:

Me.namelist_subform.Form.RecordSource = "select * from qyCustChild" 
Смежные вопросы