Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.09.11;
Скачать: CL | DM;

Вниз

проблемы работы с excel через ado   Найти похожие ветки 

 
Andy Nortsov   (2005-07-30 21:07) [0]

Доброе время суток
При чтении данных из excel  через ado типа
ADOQuery1.fieldbyname("EXTERNAL_NUMBER").Value если строковые данные то , ок, если числовые то возвращает null, если читать  как asString  то в оле где стоит число возвратит "", Как эту ситуацию разрулить


 
DrPass ©   (2005-07-30 21:57) [1]

Поставить в Excel принудительно строковый формат для всех ячеек, где хранятся числа. В базах данных, в отличие от электронных таблиц, в одном столбце не допускаются данные разных типов, поэтому драйвер выкручивается из ситуации простым игнорированием таких данных


 
Andy Nortsov   (2005-07-30 22:05) [2]

ставил, не помогает, в колонке смешанные данные в одной ячейке текст в другой только числа, да и потом что ж открывать экскль чтоб колонку исправить?


 
sniknik ©   (2005-07-30 22:19) [3]

мало информации, непонятно что к чему там у тебя.
но есть пара моментов работы екселевскими файлами через ADO может помочь
первое, работать можно только с данными, формулы/форматирование недоступны (если там где говориш числа, у тебя на самом деле формула... то null в это случае это нормально)

второе тип поля определяется по первым нескольким строкам (количество задается количество в реесте)  при определении типа как числовое, строки в нем будут уже игнорироваться.

ну и третье (перебор уже да ;)) воспринимается таблица как текстовая, т.е. удаления строк из нее методами работы с таблицами невозможны... (еше какието связанные с этим ограничения есть)

ну а чтобы увидеть всю возможную информацию из таблици надо в строку конекта добавить HDR=No;IMEX=1 (первый параметр - нет заголовков второй - все воспринимать текстом (второе без первого не работает)) тогда определения типов не будет, все передастся текстом (а текст все стерпит ;).

> В базах данных, в отличие от электронных таблиц, в одном столбце не допускаются данные разных типов
в mssql-е есть тип данных вариант... правда я с ним не работаю, стараюсь. (недоверие у меня к нему какоето ;о))) но он тем не менее есть. ;)


 
Andy Nortsov   (2005-07-30 23:45) [4]

Спасибо, теперь понятнее, меня интересует второй пункт, мне просто надо читать данные, к-е я и выгружал, т.е. импортировать, то что я экспортирую без всяких формул, очень понравился параметр IMEX=1, но у меня есть заголовки полей. Неужели из этой ситуации никак не выкрутится? так все было удобно... Мне ПРОСТО надо чтоб был везде текст, а не менялся тип данных при считывании.


 
sniknik ©   (2005-07-31 00:09) [5]

выкрутится можно.
реальные названия полей будут F1, F2, ... Fn, а твои станут данными в первой строке. учитавй это да и все.


 
Andy Nortsov   (2005-07-31 03:10) [6]

ок, спасибо, попробую



Страницы: 1 вся ветка

Текущий архив: 2005.09.11;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.037 c
3-1122557914
Gavrila
2005-07-28 17:38
2005.09.11
Как создать DBF для 1С ?


14-1124291367
Pat
2005-08-17 19:09
2005.09.11
Передать в макрос параметр


14-1124138602
Германн
2005-08-16 00:43
2005.09.11
Файлы *.eps. Если кто с ними работал подскажите, плиз!


2-1123459200
Lexa
2005-08-08 04:00
2005.09.11
Работа с cache


14-1124165644
-=snoop=-
2005-08-16 08:14
2005.09.11
делюсь инфой по полезному компоненту!