ник: Анатолий (Киев)
Справку не читаете или читаете невнимательно.
В VBA функции IIF, Switch, Choose вычисляют выражения во всех аргументах, а уже затем возвращают значение, соответствующее условию. Т.е. ваша Replace(rst.Fields(3), """", """""") выполняется даже когда Null в rst.Fields(3), и вызывает ошибку.
Потэтому, а также в случаях, когда в аргументах применяются долгоиграющие вычисления (например DSum), умные люди в умных книжках и советуют максимально ограничить их использование в коде.
В запросах и вычисляемых полях эти функции ведут себя иначе - в контрольных выражениях допускают любые операторы SQL и вычисляют только выражение, соответствующее условию.