Topic: SQL запрос из таблицы поиска

Подскажите пож как сделать SQL запрос чтобы выборка была из результатов поиска TableGrid1. Заранее спс.

Re: SQL запрос из таблицы поиска

И еще один вопрос. Нужно чтобы кнопка открывала файл справки. Вставил скрипт но онибок не выдает но и при нажатии на кнопку файл не открывает. Может в свойствах кнопки что-то нужно добавить или в скрипте что-то не так. Подскажите если не сложно.
    procedure FormGlavn_ButtonHelp_OnClick (Sender: string; var Cancel: boolean);

begin

    OpenFile('Help.chm');

end;



procedure FormGlavn_TableGrid2_OnCellClick (Sender: string; ACol, ARow: Integer);
begin
  zapolnenie();
end;

procedure FormGlavn_TableGrid2_OnKeyUp (Sender: string; var Key: Word; Shift, Alt, Ctrl: boolean);
begin
   zapolnenie();
end;

procedure   zapolnenie ();
var 
idS : string ;
begin
idS := inttostr(FormGlavn.TableGrid2.dbItemID) ;
FormGlavn.Obekt.text := SQLExecute('SELECT ob_name FROM tabobekt WHERE id =(SELECT id_tabobekt FROM tabotkaz WHERE id = '+idS+')' ) ;
FormGlavn.Edit2.Text := SQLExecute('SELECT Name_Uzel FROM TabUselOborud WHERE id =(SELECT id_TabUselOborud FROM tabotkaz WHERE id = '+idS+')' ) ;
FormGlavn.VneshProyavlOtkaza.Text := SQLExecute('SELECT Proyav_name FROM TabProyavlen WHERE id =(SELECT id_TabProyavlen FROM tabotkaz WHERE id = '+idS+')' ) ;
FormGlavn.LitsoObnaruj.Text := SQLExecute('SELECT Obnarug_name FROM TabObnarug WHERE id =(SELECT id_TabObnarug FROM tabotkaz WHERE id = '+idS+')' ) ;
FormGlavn.MetodUstraneniya.Text := SQLExecute('SELECT Metod_name FROM TabMetod WHERE id =(SELECT id_TabMetod FROM tabotkaz WHERE id = '+idS+')' ) ;
FormGlavn.UsloviyaObnaruj.Text :=  SQLExecute('SELECT Usl_name FROM TabUslovia WHERE id =(SELECT id_TabUslovia FROM tabotkaz WHERE id = '+idS+')' ) ;
FormGlavn.Defekt.Text := SQLExecute('SELECT Defekt_name FROM TabDefekt WHERE id =(SELECT id_TabDefekt FROM tabotkaz WHERE id = '+idS+')' ) ;
FormGlavn.VidOborudovaniya.Text := SQLExecute('SELECT Vid_name FROM TabVid WHERE id =(SELECT id_TabVid FROM tabotkaz WHERE id = '+idS+')' ) ;
FormGlavn.DefektNomer.Text := SQLExecute('SELECT DEF№ FROM tabotkaz WHERE id = '+idS ) ;
FormGlavn.Edit4.Text := SQLExecute('SELECT ZAPAS FROM tabotkaz WHERE id = '+idS ) ;
FormGlavn.Komentarii.Text := SQLExecute('SELECT Primechanie FROM tabotkaz WHERE id = '+idS ) ;


end;



   procedure FormGlavn_Button4_OnClick (Sender: string; var Cancel: boolean);

begin

    OpenFile(ExtractFilePath(Application.ExeName) +'Help.chm');

end;




   begin
   
   end.

Re: SQL запрос из таблицы поиска

Игоревич wrote:

Подскажите пож как сделать SQL запрос чтобы выборка была из результатов поиска TableGrid1. Заранее спс.

компонент TableGrid всего лишь отображает данные, нет возможности взять результаты поиска из TableGrid и сделать SQL запрос. Пожалуйста, опишите задачу, которая стоит перед вами.

Dmitry.

Re: SQL запрос из таблицы поиска

Игоревич wrote:

И еще один вопрос. Нужно чтобы кнопка открывала файл справки. Вставил скрипт но онибок не выдает но и при нажатии на кнопку файл не открывает. Может в свойствах кнопки что-то нужно добавить или в скрипте что-то не так. Подскажите если не сложно.


Пожалуйста приложите ваш проект, посмотрю в чем дело.

Dmitry.

Re: SQL запрос из таблицы поиска

DriveSoft wrote:
Игоревич wrote:

Подскажите пож как сделать SQL запрос чтобы выборка была из результатов поиска TableGrid1. Заранее спс.

компонент TableGrid всего лишь отображает данные, нет возможности взять результаты поиска из TableGrid и сделать SQL запрос. Пожалуйста, опишите задачу, которая стоит перед вами.

Из TableGrid делать отчет после результатов поиска.

Re: SQL запрос из таблицы поиска

DriveSoft wrote:
Игоревич wrote:

И еще один вопрос. Нужно чтобы кнопка открывала файл справки. Вставил скрипт но онибок не выдает но и при нажатии на кнопку файл не открывает. Может в свойствах кнопки что-то нужно добавить или в скрипте что-то не так. Подскажите если не сложно.


Пожалуйста приложите ваш проект, посмотрю в чем дело.

Ссылка на проект https://www.dropbox.com/s/3ypiyb0pp1m40 … F.exe?dl=0 нужно чтобы кнопка классификатор открывала файл Help из корневой папки проекта. Заранее спс.

Re: SQL запрос из таблицы поиска

И кнопка очистить поиск посмотрите пож. Кнопка после поиска должна обнулять панель поиска поиска как при начальноц загрузки. Буду вам очень признателен . Заранее спс.

Re: SQL запрос из таблицы поиска

Еще один вопрос. Как с помощью SQLiteStudio экспорт импорт данных делать. Не таблиц а уже записанных данных. Пробовал экспорт получается а импорт ошибки выдаент.

Re: SQL запрос из таблицы поиска

Игоревич wrote:
DriveSoft wrote:
Игоревич wrote:

И еще один вопрос. Нужно чтобы кнопка открывала файл справки. Вставил скрипт но онибок не выдает но и при нажатии на кнопку файл не открывает. Может в свойствах кнопки что-то нужно добавить или в скрипте что-то не так. Подскажите если не сложно.


Пожалуйста приложите ваш проект, посмотрю в чем дело.

Ссылка на проект https://www.dropbox.com/s/3ypiyb0pp1m40 … F.exe?dl=0 нужно чтобы кнопка классификатор открывала файл Help из корневой папки проекта. Заранее спс.

Если вы скачали проект отпишитесь я его удалю

Re: SQL запрос из таблицы поиска

DriveSoft wrote:
Игоревич wrote:

И еще один вопрос. Нужно чтобы кнопка открывала файл справки. Вставил скрипт но онибок не выдает но и при нажатии на кнопку файл не открывает. Может в свойствах кнопки что-то нужно добавить или в скрипте что-то не так. Подскажите если не сложно.


Пожалуйста приложите ваш проект, посмотрю в чем дело.

Так вы мне поможете ? Я был-бы вам очень благодарен. Можно и материально. Жду вашего ответа.

Re: SQL запрос из таблицы поиска

Попробовал этот код на различных типах файлов.

procedure FormGlavn_Button4_OnClick (Sender: string; var Cancel: boolean);
begin
    OpenFile(ExtractFilePath(Application.ExeName) +'Help.chm');
end;

Все открываются. Может непосредственно в компьютере дело? На другом не пробовали?

Re: SQL запрос из таблицы поиска

Пробовал на трех др.Вы код смотрели может я там что-то не так сделал?

Re: SQL запрос из таблицы поиска

Я взял конкретно кусочек кода, который выложен. А другой файл не пробовали? Картинку какую-нибудь открыть. Проект не доступен для скачивания.

Re: SQL запрос из таблицы поиска

Игоревич

Из TableGrid делать отчет после результатов поиска.

Вам необходимо настроить кнопку "Отчет" точно также как и кнопку "Поиск", которая заполняет TableGrid, т.о. при нажатии на кнопку "Отчет" вы получите теже данные в отчет, которые попали бы в TableGrid по кнопке "Поиск"


Пожалуйста создавайте отдельную тему для каждого несвязанного вопроса.

Dmitry.

Re: SQL запрос из таблицы поиска

ок

Re: SQL запрос из таблицы поиска

Сыылка на проект https://www.dropbox.com/s/xtg4vqxc61vca … F.exe?dl=0

Re: SQL запрос из таблицы поиска

Игоревич wrote:

Сыылка на проект https://www.dropbox.com/s/xtg4vqxc61vca … F.exe?dl=0

Для чего ссылка?

Dmitry.

Re: SQL запрос из таблицы поиска

Касаемо кнопки и открытия файлов. Вы просто кнопке событие не назначили. Вот она и не открывает ничего. В событиях на OnClick пропишите FormGlavn_Button4_OnClick и все откроется.

Re: SQL запрос из таблицы поиска

Спс за овет

Re: SQL запрос из таблицы поиска

Код вы сказали правильный
procedure FormGlavn_Button4_OnClick (Sender: string; var Cancel: boolean);

begin

    OpenFile(ExtractFilePath(Application.ExeName) +'Help.chm');

end.
Событие для кнопки сделал. Скрины. И все равно не открывает файл.
https://www.dropbox.com/s/4zkkc2akt6gi4cl/1.png?dl=0

https://www.dropbox.com/s/cmkxz06k0806q4o/2.png?dl=0

Re: SQL запрос из таблицы поиска

Будьте внимательней к знакам препинания. Ваш скрипт на 95 строке выполняться перестает (если я правильно выражаюсь). Сам только поверхностно вник. Вот так работает:

   var
   sUser: string = '';
   idUser: integer;
   isAdmin: boolean = False;




procedure frmLogin_bLogin_OnClick (Sender: string; var Cancel: boolean);
var
   s: string;
begin
     // SQL-запрос на регистрацию пользователя и пароль
     s := SQLExecute('SELECT count(id) FROM users WHERE (id = ''' + IntToStr(frmLogin.cbLogin.dbItemID) + ''') AND (password = ''' + frmLogin.edPassword.Text + ''');');

     // SQL-запрос найден логин и пароль
     if (s <> '0') and (s<>'') then
     begin
          sUser := frmLogin.cbLogin.Text; // запомнить имя пользователя
          idUser := frmLogin.cbLogin.dbItemID; // запомнить идентификатор пользователя в базе

          // Administrator?
          if SQLExecute ('SELECT admin FROM users WHERE id = '+IntToStr(idUser)) = '1' then isAdmin := True else FormGlavn.bUsers.Visible:=False;

          FormGlavn.Caption := 'User: ' + sUser;
          frmLogin.Close; // Закрыть главную форму
     end else MessageDlg('Некорректный пароль', mtError, mbOk, 0); // сообщение если неверный пароль

end;

// мероприятия закрытия окна для входа
procedure frmLogin_OnClose (Sender: string; Action: string);
begin
     // если пользователь не определен, и Пользователь закрывает окно входа в систему, закройте главную форму
     if sUser='' then FormGlavn.Close;
end;


procedure formIzm_OnShow (Sender: string; Action: string);
begin
    if Action = 'NewRecord' then formIzm.cbUser.dbItemID := idUser ; 
end;


// защитить от удаления
procedure FormGlavn_bDelete_OnClick (Sender: string; var Cancel: boolean);
var
    sIdUser: string;
begin
    if isAdmin then Exit;

    sIdUser:=SQLExecute('SELECT id_users FROM employees WHERE id='+IntToStr(FormGlavn.TableGrid2.dbItemID));
    if sIdUser<>IntToStr(idUser) then
    begin
        Cancel := True;
        ShowMessage('У вас нет разрешения удалять записи, которые не принадлежат вам.');
    end;
end;

// защитить от редактирования
procedure formIzm_bOK_OnClick (Sender: string; var Cancel: boolean);
begin
    if isAdmin then Exit;

    if idUser<>formIzm.cbUser.dbItemID then
    begin
        Cancel := True;
        ShowMessage('У вас нет разрешения редактировать записи, которые не принадлежат вам.');
    end;
end;



procedure FormGlavn_OnShow (Sender: string; Action: string);
begin
     frmLogin.edPassword.PasswordChar := '*';
     frmLogin.ShowModal; // Форма для входа
end;


procedure FormGlavn_TableGrid2_OnCellClick (Sender: string; ACol, ARow: Integer);
begin
  zapolnenie();
end;

procedure FormGlavn_TableGrid2_OnKeyUp (Sender: string; var Key: Word; Shift, Alt, Ctrl: boolean);
begin
   zapolnenie();
end;

procedure   zapolnenie ();
var  
 idS : string ;
begin
 idS := inttostr(FormGlavn.TableGrid2.dbItemID) ;
 FormGlavn.Obekt.text := SQLExecute('SELECT ob_name FROM tabobekt WHERE id =(SELECT id_tabobekt FROM tabotkaz WHERE id = '+idS+')' ) ;
 FormGlavn.Edit2.Text := SQLExecute('SELECT Name_Uzel FROM TabUselOborud WHERE id =(SELECT id_TabUselOborud FROM tabotkaz WHERE id = '+idS+')' ) ;
 FormGlavn.VneshProyavlOtkaza.Text := SQLExecute('SELECT Proyav_name FROM TabProyavlen WHERE id =(SELECT id_TabProyavlen FROM tabotkaz WHERE id = '+idS+')' ) ;
 FormGlavn.LitsoObnaruj.Text := SQLExecute('SELECT Obnarug_name FROM TabObnarug WHERE id =(SELECT id_TabObnarug FROM tabotkaz WHERE id = '+idS+')' ) ;
 FormGlavn.MetodUstraneniya.Text := SQLExecute('SELECT Metod_name FROM TabMetod WHERE id =(SELECT id_TabMetod FROM tabotkaz WHERE id = '+idS+')' ) ;
 FormGlavn.UsloviyaObnaruj.Text :=  SQLExecute('SELECT Usl_name FROM TabUslovia WHERE id =(SELECT id_TabUslovia FROM tabotkaz WHERE id = '+idS+')' ) ;
 FormGlavn.Defekt.Text := SQLExecute('SELECT Defekt_name FROM TabDefekt WHERE id =(SELECT id_TabDefekt FROM tabotkaz WHERE id = '+idS+')' ) ;
 FormGlavn.VidOborudovaniya.Text := SQLExecute('SELECT Vid_name FROM TabVid WHERE id =(SELECT id_TabVid FROM tabotkaz WHERE id = '+idS+')' ) ;
 FormGlavn.DefektNomer.Text := SQLExecute('SELECT DEF№ FROM tabotkaz WHERE id = '+idS ) ;
 FormGlavn.Edit4.Text := SQLExecute('SELECT ZAPAS FROM tabotkaz WHERE id = '+idS ) ;
 FormGlavn.Komentarii.Text := SQLExecute('SELECT Primechanie FROM tabotkaz WHERE id = '+idS ) ;


end;


procedure FormGlavn_Button4_OnClick (Sender: string; var Cancel: boolean);

begin

    OpenFile(ExtractFilePath(Application.ExeName) +'Help.chm');

end;



begin
  //  Начала проверьте, есть ли пользователь, администратор базы данных
  // если нет, создать учетную запись администратора с именем пользователя admin и паролем admin
     if SQLExecute('SELECT count(id) FROM users;') = '0' then
     begin
         SQLExecute('INSERT INTO users (login, password, admin) VALUES ("admin", "admin", 1);');
         frmLogin.cbLogin.dbItemID:=1;
         frmLogin.edPassword.Text := 'admin';
     end;
     frmLogin.Button1.Default := True;
     formIzm.cbUser.Enabled:=false;
end.

Замените полностью скрипт.

Re: SQL запрос из таблицы поиска

Можно вопрос. Почем у при компиляции не выдается ошибка

Re: SQL запрос из таблицы поиска

И спс огромное.

Re: SQL запрос из таблицы поиска

Игоревич wrote:

Можно вопрос. Почем у при компиляции не выдается ошибка

Не выдается почему? А должна?

Re: SQL запрос из таблицы поиска

Я думаю как в делфи должнра