Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Excel через Odbc
Форум программистов > Системное программирование > C, С++ и С Builder > MS Visual C++
gammaray
Собственно проблема такая. Надо с помощью команды Select получить данные из столбца файла Excel по букве этого столбца. Вообще суть в том, что пишу программу для составления прайса из нескольких прайсов. Нашел вот здесь аналогичную программу! Аналог
И вот какие нашел в ней особенности: когда открываешь прайс, то запускается соответствующий файл Excel, далее задаешь просто буквы столбцов и программа сама делает прайс. Причем выбирается информация по стобцам с того листа, который открыт в непосредственно в Excel. Т.е. программа как-то работает и с файлом Excel. Я же файл Excel открываю с помощью ShellExecute, а имя нужного листа приходится вводить в Edit в самой программе. Yу и + никак не могу найти, как выборку делать по буквам столбцов.
Может кто подскажет, как это делать?

Пишу через ODBC. Вот код, который открывает полностью весь лист Excel:
try
{
CDatabase db;

    if(db.Open(NULL)
    {
        CRecordset cr(&db);
        try
        {
            SQL_Select.Format(_T("SELECT * FROM [%s$]"), this->m_PriceListName);
            cr.Open(CRecordset::forwardOnly, SQL_Select);
                        ....................
                        ....................
            cr.Close();
        }
        catch(CDBException cdb)
        {
            AfxMessageBox(cdb.m_strStateNativeOrigin);
        }
    }
    else  AfxMessageBox(_T("Not Open"));
    db.Close();
}
catch(CDBException* pe)
{
    AfxMessageBox(pe->m_strError);
    pe->Delete();
}



Еще дополнительно возник вопрос, каким образом получить список таблиц, которые созданы в Excel файле?
gammaray
Неужели никто не в курсе? Сечас уже даже важнее вопрос про то, как получить таблицы, которые уже созданы в Excel файле... Первый вопрос я обошел другим путем. Просто пользователю надо принудительно подписывать каждый столбец и вводить его имя в программу...
sax_ol
Цитата(gammaray @ 19:08:2008 - 12:51) *
Пишу через ODBC.
Почему именно?
gammaray
Цитата(sax_ol @ 21:08:2008, 12:06 ) *
Почему именно?

А почему нет? Чем плох ODBC?
sax_ol
О это долгая и нудная тема, неохота про нее ... я имел ввиду почему не адо (оледб)
sax_ol
Ну как там успехи?
вот ссылка ]]>http://davidhayden.com/blog/dave/archive/2...05/31/2975.aspx]]>
правда там .NET, но сути дела это не меняет
gammaray
Цитата(sax_ol @ 21:08:2008, 13:32 ) *
О это долгая и нудная тема, неохота про нее ... я имел ввиду почему не адо (оледб)

Ну просто я первый раз пишу прогу, работающую с БД... И решил начать с ODBC, потому что сразу писать на OLEDB не решился... А есть хорошая ссылка почитать про OLEDB? Чтобы все было более менее попроще расписано с примерами.
sax_ol
Цитата(gammaray @ 22:08:2008 - 09:14) *
И решил начать с ODBC
Плохое решение smile.gif надо было прежде спросить тут wink.gif
Пример из ссылки выше - нормально показывает суть.
Да и OLEDB это просто апи для работы с базами, и реализованы в неком провайдер, который вы пользуете.
gammaray
Цитата(sax_ol @ 22:08:2008, 08:35 ) *
Плохое решение smile.gif надо было прежде спросить тут wink.gif
Пример из ссылки выше - нормально показывает суть.
Да и OLEDB это просто апи для работы с базами, и реализованы в неком провайдер, который вы пользуете.

Начал читать вот тут
]]>http://www.gotdotnet.ru/LearnDotNet/ADONET/714.aspx]]> Так оказалось просто читать Excel таблицы через ADO, что пожалуй я прогу всю заново перепишу... Спасибо большое!!!
sax_ol
Цитата(gammaray @ 22:08:2008 - 09:40) *
что пожалуй я прогу всю заново перепишу
Таки да, верно. и сразу на .NET smile.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2008 IPS, Inc.