Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Delphi: Для новичков > загрузка файла в DBGrid через OpenDialoq |
Автор: mgf 16.2.2011, 20:32 |
Здравствуйте! Подскажите пожалуйста, как загрузить файл xls и DBgrid более приемлимым способом, с помощью OpenDialog. У меня сделано так: прописывается пусть к файлу через Edit, во втором Edit указывается выборка (select*from [Лист1$]) и по нажатию кнопки файл xls отображается в DBGrid. Но т.к. все время прописывать путь к файлу неудобно, расскажите пожалуйста, как создать загрузку файла с помощью стандартного диалога |
Автор: Данкинг 16.2.2011, 23:08 |
OpenDialog.Filename ? |
Автор: mgf 17.2.2011, 17:45 |
я ни разу не работала с диалоговым окном, так что точно не знаю, как именно его задействовать. Все что есть из наработок, это if opendialog1.execute then if length(opendialog1.files[0])<>0 then begin adoconnection1.close; adoconnection1.connectionstring:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+ opendialog1.filename+ ';Extended Properties=Excel 8.0'; adoconnection1.open; а сам запрос sql куда вставлять? после активации adoconnection? |
Автор: Данкинг 17.2.2011, 19:45 | ||
В AdoQuery, вероятно. ![]() Добавлено через 26 секунд Лучше так:
|
Автор: mgf 18.2.2011, 17:59 |
с этим я разобралась, спасибо! А не подскажите, как проверить в GBDrid колонку на заполненность? У меня много незаполненных колонок и я хочу их скрыть, оставить только те, которые нужны |
Автор: Данкинг 18.2.2011, 18:51 |
Сделать запрос к датасету, который подключён к гриду, с проверкой условия заполненности данного поля. Только откуда в гриде взялись эти незаполненные колонки, не понял? Там можно конкретно прописать, какие поля отображать (свойство .Columns). |
Автор: mgf 18.2.2011, 20:17 |
я в грид загружаю файл xls, если загружать файл с таблицей одного типа, то тогда можно прописать колонки, а если понадобиться загрузить другую таблицу? с другими колонками, или если названия колонок буду поменяны, по востребованности, в этом случае ведь не будет работать запрос, поэтому тут нужен универсальный программный код, который подойдет к любой таблице, в поисках пустой колонки |