EDIT2: правильное решение из комментариев:
shahkalpesh: если он выполняется через Access, вполне возможно, что Access имеет доступную ему DLL, которая имеет функцию Round. Какую строку подключения вы используете?
Stimul8d: я не уверен, как это может быть что-либо, так что делать со строкой подключения. Этот код работает на КАЖДОМ другом компьютере, без изменений; только не по моему.
Андомар: Ну, это твоя проблема, твоя машина заглохла. Вы все еще можете установить vb6 sp6 возможно.
Stimul8d: Ну, SP6 это исправил. Приветствия Anndomar, не знаю, почему SP6 исправил это, но это сделал!
РЕДАКТИРОВАТЬ: На основе вашего комментария эта группа новостей сообщение может быть ответом:
К сожалению, когда вы работаете
запросы извне Access (как вы
от VB), ваше единственное соединение с
база данных через джет
двигатель, который ничего не знает
о большинстве функций VBA. Нет никаких
способ обойти это, кроме как вернуться
данные в ваше приложение VB и
используйте функции на данных там.
И два поста позже:
Я решил проблему. Обновил мой VB
с пакетом обновления 6 ... потребовалось
забота о проблемах.
Старый ответ здесь:
Попробуйте FLOOR () вместо ROUND ().
Чтобы округлить что-либо до ближайшего целого числа, вы можете:
declare @floatmyboat float
set @floatmyboat = 1.51
select floor(@floatmyboat+0.5)
P.S. Возможно опубликуйте точную ошибку, которую вы получите. Если это «функция округления требует от 2 до 3 аргументов.», Это означает, что Sql Server работает на ROUND ().