У меня есть пользовательская функция в Access2007, который зависит от захвата данных из определенного запроса. Это открывает Outlook, создает новое электронное письмо и заполняет поля с определенными адресами и данными, взятыми от запроса ("DecisionEmail")
. Теперь я хочу сделать другой запрос ("RequestEmail")
и имейте его, заполняют электронную почту с теми данными. Таким образом, все, что я должен сделать, изменить эту строку:
Set MailList = db.OpenRecordset("DecisionEmail")
и это - то, где я озадачен.
Это - мой желаемый результат: Если пользователь идет Form_Decision
и нажимает кнопку "Send email"
, "DecisionEmail"
будет включен функция и те данные появятся в электронном письме. Если пользователь на Form_SendRequest
и нажимает кнопку "Send email"
, "RequestEmail"
будет вместо этого включен. Причина, что это различные запросы, состоит в том, потому что они содержат совсем другую информацию, которая пачкается о по-разному. Однако, так как это - всего одна небольшая вещь, которая должна измениться в функциональном коде, я не думаю, что совершенно новая функция является хорошей идеей.
Мое последнее средство должно было бы сделать совершенно новую функцию и использовать поле Conditions в интерфейсе Macro для выбора между ними, но у меня есть чувство, что существует более изящное возможное решение.
У меня есть неопределенное понятие установки имен запроса как переменные и использование, Если оператор, но у меня просто нет умственного словаря для того, чтобы продумать это.
Почему бы не сохранить макрос как код, тогда вы можете отредактировать его, скажем:
Function CustomEmail(NameOfQuery As String)
CurrentDB.Openrecordset(NameOfQuery)
End Function
Затем в каждой форме в желаемом событии:
CustomEmail "DecisionEmail"