Help: Выборка из Excel через ADO #92507


#0 by mvk
Есть запрос (загружаю прайсы поставщиков):  db.Close;Одна из колонок (Остаток) должна быть строковой. Но первое значение после наименования колонки в этой колонке может интерпретироваться, как число.Формат ячеек в Excel - текст. Запрос возвращает только те значения, которые можно интерпретировать, как число. Там где значение - строка ("много" или "++"), возвращается пустое значение.Как победить?
#1 by mvk
Причем, если первое значение в этой колонке строковое, то дальше все нормально.
#2 by mvk
Up...
#3 by mvk
Предполагаю, что если в запросе использовать функцию Str, то должно возвращать правильно. Вопрос в том, как в запросе обратиться к столбцам по номеру, а не по названию поля.
#4 by DES
SELECT - тип полей определяется по типу первой обрабатываемой записи.
#5 by mvk
Я так и понял. Есть возможность это побороть?Например, использовать в select преобразование str...Но как сослаться на колонку не по имени, а по номеру колонки?
#6 by mvk
Up
#7 by Gloom
Джетовский драйвер по-умолчанию сканирует первые восемь строк ёксельного файла, чтобы определить тип колонок.Этим поведением можно рулить здесь:HKLMSOFTWAREMicrosoftJet4.0EnginesExcelTypeGuessRows
#8 by mvk
Что лучше сделать?Поставить это значение побольше, или обнулить?И принудительно нельзя указать тип?
#9 by mvk
Ап последней надежды. :)Ставить это значение отличным от 0 - нет уверенности в том, что попадешь на явно строковое значение.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям