Как сделать функцию триггера Arc Cos (ACOS () в Excel) в MS-Access? - PullRequest
2 голосов
/ 01 февраля 2012

У меня есть формула Excel, которую нужно вставить в запрос MS-Access.К сожалению, функция Arc Cosine, похоже, не является частью репертуара Access.Так что в Excel часть формулы - ACOS (много вещей).Поэтому мой вопрос заключается в том, как я могу достичь функции ACOS () Excel в MS-Access?

Примечание.в Excel:

= (ACOS (SIN (RADIANS (AX2)) * SIN (RADIANS (AZ2)) + COS (RADIANS (AX2)) * COS (RADIANS (AZ2)) * COS (RADIANS (AY2) -RADIANS (BA2))) * 6367) * 0,621

Столбцы AX и AZ содержат широты, а AY и BA - долготы, и это уравнение получает расстояние в милях между двумя точками.И до того, как кто-нибудь это затронет, я осознаю, что в Access нет функции Radians.Я уже заменил его эквивалентной операцией.Я, конечно, изменил ссылки на столбцы из Excel на соответствующие ссылки на поля доступа.

1 Ответ

2 голосов
/ 01 февраля 2012

Я нашел два способа сделать это. Первый и тот, который я использовал, заключается в использовании эквивалентного идентификатора триггера для функции ACOS ():

Arccos(X) = Atn(-X / Sqr(-X * X + 1)) + 2 * Atn(1)

Это приводит к довольно длинному уравнению для меня, но оно работает и, кажется, не займет много времени для запуска. Другое решение, о котором я читал (но не проверял), заключается в создании

ссылка на библиотеку объектов Microsoft Excel (Инструменты | Ссылки на строка меню VBA). Это раскрывает функции листа Excel, которые Вы можете сослаться на:

Excel.WorksheetFunction.ACOS (TheNumberGoesHere)

...