Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Access Новый топик    Ответить
 Ошибка IDispatch error 3092  [new]
Роман Трущев
Member

Откуда:
Сообщений: 7
Добрый день.
Вот такая проблемка. На VC обращаюсь к базе Access.
CString strCommand = "SELECT mass.mass, numerical_strength.shtamp, numerical_strength.shtamp2,

numerical_strength.nagrev, numerical_strength.press, numerical_strength.press2 \
FROM mass INNER JOIN numerical_strength ON mass.id = numerical_strength.mass \
WHERE ((([mass]![mass])="
+ strMass + "))";
pCommand->CommandText = (char*)_bstr_t(strCommand);


Вот на работе такой кусок отрабатывает нормально (2000 Винды, VS 7) .
Дома же (XP, VS 7) выдает ошибку IDispatch error 3092 внутренняя ошибка программирования объекта.. вроде того.
Замечено, что это появляется только если в sql строке есть кусок
WHERE ((([mass]![mass])=" + strMass + "))";

Без него отрабатывает нормально.
Подскажите в чем может быть дело? Версии mdac разные могут быть причиной этого?
6 апр 04, 09:21    [613751]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка IDispatch error 3092  [new]
Лох Позорный
Member

Откуда:
Сообщений: 9898
Если strMass - дробное, то надо читать фак
Особенно слова "тогда как SQL в качестве разделителя воспринимает только точку."

Если не поможет - полный текст запроса в студию.
6 апр 04, 09:34    [613790]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка IDispatch error 3092  [new]
Роман Трущев
Member

Откуда:
Сообщений: 7
SELECT mass.mass, numerical_strength.shtamp, numerical_strength.shtamp2,

numerical_strength.nagrev, numerical_strength.press, numerical_strength.press2
FROM mass INNER JOIN numerical_strength ON mass.id = numerical_strength.mass
WHERE ((([mass]![mass]) = 8.000000))


Поле mass Одинарное с плавающей точкой.
В самом Access отрабатывает без проблемм. Сейчас компилю в 2000 виндах тоже все в порядке.
6 апр 04, 09:46    [613807]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка IDispatch error 3092  [new]
Shuhard
Member

Откуда:
Сообщений: 4998
Панель управления-Региональные настройки-разделитель целой и дробной части смени , - . или наоборот
6 апр 04, 09:58    [613823]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка IDispatch error 3092  [new]
Роман Трущев
Member

Откуда:
Сообщений: 7
Спасибо, попробую.
6 апр 04, 10:08    [613842]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка IDispatch error 3092  [new]
Роман Трущев
Member

Откуда:
Сообщений: 7
Все равно, что ни делаю внутренняя ошибка программирования объекта.
Только если добавляю where ....
В то же время в самом access этот запрос нормально отрабатывается.
Установил новый mdac 2.8 никаких результатов.
8 апр 04, 12:31    [618400]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка IDispatch error 3092  [new]
Victosha
Member

Откуда: Москва
Сообщений: 2620
а если ((([mass]![mass]) = 8.000000))
заменить на ((([mass].[mass]) = 8.000000))
?
8 апр 04, 14:09    [618757]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка IDispatch error 3092  [new]
Victosha
Member

Откуда: Москва
Сообщений: 2620
да, еще, - mdac 2.8 не содержит драйверов для Jet.
надо ставить отдельно Jet SP8
8 апр 04, 14:11    [618764]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка IDispatch error 3092  [new]
Роман Трущев
Member

Откуда:
Сообщений: 7
mdac 2.8 не содержит драйверов для Jet.
Да и через ODBC таже фигня.. :(
А насчет [mass].[mass] ну можно попробывать... Но почему тогда на работе работает, а дома нет.. хз.. вроде только виндами отличаемся.
8 апр 04, 14:16    [618787]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft Access Ответить