powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Как получить данные типа "число" через ADODB c XLS?
3 сообщений из 3, страница 1 из 1
Как получить данные типа "число" через ADODB c XLS?
    #33690658
Pvase
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Файл формата Excel-2000. Подключаюсь к файлу через ADODB, вот строка подклбчения:
Код: plaintext
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Path+";Extended Properties=""Excel 8.0;"""
. Выборка происходит таким запросом:
Код: plaintext
Select * from [Лист1$] 
.
Данные начинаются с 3 строки, 1 - строка - пустая, вторая - название колонок, 3 - данные. В свойствах ODBC для XLS установлено Rows to scan = 8 (по умолчанию).
При получении данных типа "Число" с плавающей запятой (т.е. просто с запятой) - получение данных (Fields(12).Value) ничего не возвращает. Как решить проблему? Заранее спасибо за ответы.
...
Рейтинг: 0 / 0
Как получить данные типа "число" через ADODB c XLS?
    #33694375
Pvase
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проблема решается установкой доп параметра: MAXSCANROWS=0 для сканирования всех строк для правильного определения типа значения в столбце.
...
Рейтинг: 0 / 0
Как получить данные типа "число" через ADODB c XLS?
    #33700854
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PvaseПроблема решается установкой доп параметра: MAXSCANROWS=0 для сканирования всех строк для правильного определения типа значения в столбце.

ничего этот параметр не решает.
Как и пр. указания микрософта.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
 281517 
PRB: Transfer of Data from Jet  4 .0LEDB Source Fails with Buffer Overflow Error

The Jet OLE DB provider reads a registry key to determine how many rows are to be read to guess the type of the source column. The registry setting is:

HKLM\Software\Microsoft\Jet\ 4 . 0 \Engines\Excel\TypeGuessRows

The valid range of values for the TypeGuessRows key is  0  to  16 . However, if the value is  0 , the number of source rows scanned is  16384 . Keep in mind that a value of zero may cause a small performance hit if the source file is very large.

У меня данные шли с 10 строки - и как я не извращался с этими гребанными параметрами (MDAC 2.8 SP1, Excel2003+SP2), значениями реестра - все равно поле становилось String и данные благополучно исчезали. Пришлось логику в программе менять - нули вставлять вместо NULL/Empty.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Как получить данные типа "число" через ADODB c XLS?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]