Итак, в форме доступа или отчете хороший способ показать что-то динамическое на экране, более сложное, чем =[UnitPrice]*[Quantity]
, - перейти в VBA.
например. в этом упрощенном примере базовая таблица для этого отчета имеет два поля ShowTax и TaxRate . Создавая элемент управления TextBox =GetTaxInfo
, я ввожу некоторую сложность в VBA:
Public Function GetTaxInfo() As String
Dim result As String
If Me!ShowTax = 0 Then
result = "Tax included @ " & Me!TaxRate
Else
result = ""
End If
GetTaxInfo = result
End Function
ОК, это работает ... пока у меня есть поле где-то еще, которое ссылается на TaxRate. В противном случае он просто печатает #Error
. Как будто ему нужно предварительно загрузить поле, прежде чем его можно будет использовать в коде VBA. Это не конец света, потому что у меня в отчете могут быть поля, настроенные так, чтобы они не были видны, но это неопрятно.
Так что это тот случай, когда вы не можете ссылаться на поле в коде VBA, поддерживающем отчет , если уже не ссылался на поле обычным способом как поле, запеченное в отчет?
Я не помню, чтобы раньше сталкивался с этим ограничением. Или у меня есть испорченный отчет? (Я пробовал обычное сжатие / восстановление, экспорт / реимпорт отчета и т. Д.)
Edit:
странная вещь ... теперь она снова работает. И - я почти уверен - в отчете нет контроля. вот почему я думал, что это было коррупцией в отчете.