| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > СУБД, общие вопросы > Открыть таблицу Excel как базу данных |
| Автор: swetik1981 25.6.2010, 23:13 | ||||
Открываю экселевский файл, как базу данных, с помощью такого кода
Всё работает, НО: Дело в том, что при открытии эксцелевской таблицы Microsoft.Jet сам определяет, какие именно данные находятся в таблице. Я уже примерно допёр, при помощи какого алгоритма он это делает: просматривает несколько первых ячеек в каждом столбце и, если, скажем, находит в них большинство числовых символов, определяет этот столбец, как содержащий числовые значения; тоже делает, если находит даты или строкые значения. Но в тех таблицах, с которыми работаю я, всё не так просто. Например, в столбце могут быть такие значения:
Программа определит, что этот столбец - числовой, хотя это не так. Короче, что мне сделать, чтобы при открытии таблицы Excel, все столбцы в ней опредлялись как заведомо содержащие строковые данные? |
| Автор: Akella 26.6.2010, 11:38 |
| Попробовать в наборе данных (я так подразумеваю, что в ADO) ручками создавать persistent-столбцы. |
| Автор: swetik1981 26.6.2010, 22:37 |
| Мне не совсем понятно, что это, но, как мне кажется, не покатит. Тип данных столбцов определяется ещё на стадии выполнения sql-запроса, поэтому в ADO придётся работать с тем, что есть. Поясните, пожалуйста, подробнее |
| Автор: swetik1981 27.6.2010, 14:30 |
| Всем большое спасибо за помощь! ) Всё действительно просто - нашлось на буржуйском форуме. Просто необходимо изменить одно свойство в ConnectionString и выставить IMEX=1, а не 2, как было до этого. |