1 (edited by savage 2014-09-28 22:12:28)

Topic: [Решено] Открытие файла из грида - не открывает xlsx и ругается на xls

Стандартный скрипт открытия из грида файла проекта не отрабатывает как положено
код:

//Открытие файла проекта из грида
procedure Form1_Button9_OnClick (Sender: string; var Cancel: boolean);
var
   f: string;
begin
     f := SaveFileFromDataBase('Tasks', 'file_project', Form1.TabGr_TaskList.dbItemID);
     OpenFile(f);
end;

Присоединяю скрины

Post's attachments

Attachment icon Error.7z 141.83 kb, 478 downloads since 2014-09-28 

Re: [Решено] Открытие файла из грида - не открывает xlsx и ругается на xls

Пожалуйста, приложите проект.

Dmitry.

3 (edited by savage 2014-09-28 20:34:12)

Re: [Решено] Открытие файла из грида - не открывает xlsx и ругается на xls

вот

Post's attachments

Attachment icon MyMarketingDep.7z 290.86 kb, 491 downloads since 2014-09-28 

Re: [Решено] Открытие файла из грида - не открывает xlsx и ругается на xls

DriveSoft, а можно ли сделать так, чтобы кнопка открытия файла была неактивна, пока я не выделю строку грида, содержащую заданное условие (например, слово "Да"), а с выделением сразу становилась активной?
Если да, то можете написать пример скрипта?

с уважением,

savage

Re: [Решено] Открытие файла из грида - не открывает xlsx и ругается на xls

Данная функция необходима для сохранения файла непосредственно из файла базы данных, в вашем проекте файл в базу данных не сохраняется, а содержит просто ссылку на файл, поэтому в вашем случае код открытия файла будет таким

procedure Form1_Button9_OnClick (Sender: string; var Cancel: boolean);
var
   f: string;
begin
     f := SQLExecute('SELECT file_project_filename FROM Tasks WHERE id = ' + IntToStr(Form1.TabGr_TaskList.dbItemID) );
     OpenFile(f);
end;
Dmitry.

Re: [Решено] Открытие файла из грида - не открывает xlsx и ругается на xls

Работает.

Поясните ,плиз,  что делает запрос:

SQLExecute('SELECT file_project_filename FROM Tasks WHERE id = ' + IntToStr(Form1.TabGr_TaskList.dbItemID) );

Имхо, происходит получение пути к файлу из записи таблицы Task с id, равным id выделенной записи грида?
не совсем понятна связка file_project_filename....

Re: [Решено] Открытие файла из грида - не открывает xlsx и ругается на xls

Именно так,


у вас есть поле с типом Файл "file_project"
в этом поле обычно хранится непосредственно файл, но в вашем проект эта возможность не используется, в вашем случае хранится только путь к файлу, и этот путь хранится в поле, с приставкой _filename, в вашем случае в поле file_project_filename

Dmitry.

Re: [Решено] Открытие файла из грида - не открывает xlsx и ругается на xls

Спасибо. Понял