Показать сообщение отдельно
Старый 11.05.2009, 21:44   #10  
mefodiy is offline
mefodiy
Участник
 
96 / 10 (1) +
Регистрация: 08.07.2007
Причина ошибки
"Data provider or other service returned an E_FAIL status"
крылась в использовании в опциях C/ODBC регионального символа десятичных знаков.
В общем, надо было убрать птичку с чекбокса "Use Regional Decimal Simbol".
Пример запроса:
SQL.Add('SELECT "Код Валюты",' +
'"Дата Начала",' +
'"Курс Валюты Сумма",' +
'"Корр_ Курс Валюты",' +
'"Связанный Код Валюты",' +
'"Связанный Курс Валюты Сумма",' +
'"Фикс_ Курс Валюты",' +
'"Связ_ Корр_ Курс Валюты"' +
' FROM "Валюта Курс"');
Очередная проблема:
Не могу задать условие по дате.
Поскольку ничего по этому поводу не нашел, решил дествовать методом перебора.
Но ни один из следующих вариантов не заработал:

' WHERE "Дата Начала"=' + '08-08-04');
' WHERE "Дата Начала"=' + '2008-08-04');
' WHERE "Дата Начала"=' + '04-08-08');
' WHERE "Дата Начала"=' + '04-08-2008');
' WHERE "Дата Начала"=' + '04.08.08');
' WHERE "Дата Начала"=' + '04.08.2008');
' WHERE "Дата Начала"=' + '04_08_08');
' WHERE "Дата Начала"=' + '04_08_2008');
' WHERE "Дата Начала"=' + '04082008');
' WHERE "Дата Начала"=' + '040808');
' WHERE "Дата Начала"=' + '20080804');
' WHERE "Дата Начала"=' + '080804');
' WHERE "Дата Начала"=' + 'STR_TO_DATE('+QuotedStr(DateToStr(Now))+','+QuotedStr('%d.%m.%Y')+')');
' WHERE "Дата Начала"=' + 'STR_TO_DATE('+QuotedStr(DateToStr(Now))+')');
' WHERE "Дата Начала"=' + 'STR_TO_DATE('+QuotedStr('2008-08-04')+')');
' WHERE "Дата Начала"=' + '2008-08-04 00:00:00,000');
' WHERE "Дата Начала"=' + QuotedStr('04.08.2008'));
' WHERE "Дата Начала"=' + QuotedStr('2008-08-04 00:00:00,000'));
' WHERE "Дата Начала"=' + QuotedStr('2008-08-04 00:00:00'));
' WHERE "Дата Начала"=' + QuotedStr('#04.08.2008#'));
' WHERE "Дата Начала"=' + QuotedStr('#2008-08-04#'));
' WHERE "Дата Начала"=' + QuotedStr('2008-08-04'));
' WHERE "Дата Начала"=' + '#2008-08-04#');
' WHERE "Дата Начала"=' + QuotedStr('#2008-08-04 00:00:00,000#'));
' WHERE "Дата Начала"=' + QuotedStr('#2008-08-04 00:00:00#'));
' WHERE "Дата Начала"=' + '#2008-08-04 00:00:00#');
' WHERE "Дата Начала"=' + '#2008-08-04 00:00:00,000#');
' WHERE "Дата Начала"=' + 'ts 2008-08-04 00:00:00');
' WHERE "Дата Начала"=' + '2008-08-04 00:00:00');
' WHERE "Дата Начала"=' + '[ts 2008-08-04 00:00:00]');

Может у кого-то есть идеи?