Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > 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
Цитата(mgf @  17.2.2011,  17:45 Найти цитируемый пост)
а сам запрос sql куда вставлять?

В AdoQuery, вероятно. smile

Добавлено через 26 секунд
Цитата(mgf @  17.2.2011,  17:45 Найти цитируемый пост)
if opendialog1.execute then

Лучше так:
Код

if not opendialog1.execute then exit;

Автор: mgf 18.2.2011, 17:59
с этим я разобралась, спасибо! А не подскажите, как проверить в GBDrid колонку на заполненность? У меня много незаполненных колонок и я хочу их скрыть, оставить только те, которые нужны

Автор: Данкинг 18.2.2011, 18:51
Цитата(mgf @  18.2.2011,  17:59 Найти цитируемый пост)
А не подскажите, как проверить в GBDrid колонку на заполненность? 

Сделать запрос к датасету, который подключён к гриду, с проверкой условия заполненности данного поля. Только откуда в гриде взялись эти незаполненные колонки, не понял? Там можно конкретно прописать, какие поля отображать (свойство .Columns).

Автор: mgf 18.2.2011, 20:17
я в грид загружаю файл xls, если загружать файл с таблицей одного типа, то тогда можно прописать колонки, а если понадобиться загрузить другую таблицу? с другими колонками, или если названия колонок буду поменяны, по востребованности, в этом случае ведь не будет работать запрос, поэтому тут нужен универсальный программный код, который подойдет к любой таблице, в поисках пустой колонки

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)