Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 07.03.2016, 21:12
Alex-25 Alex-25 вне форума
Прохожий
 
Регистрация: 07.03.2016
Сообщения: 5
Версия Delphi: delphi 7
Репутация: 10
По умолчанию Поиск в DbGrid

помогите, пожалуйста, в чем ошибка?

Код:
unit Unit3;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons, Mask, DBCtrls;

type
  TForm3 = class(TForm)
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    ComboBox1: TComboBox;
    Edit1: TEdit;
    procedure BitBtn2Click(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form3: TForm3;

implementation

uses Unit1;

{$R *.dfm}

procedure TForm3.BitBtn2Click(Sender: TObject);
begin
  form3.Close;
  Form1.Enabled:=true;
  Form1.Button1.Enabled:=true;
  form1.Button2.Enabled:=true;
  form1.Button3.Enabled:=true;
end;


procedure TForm3.BitBtn1Click(Sender: TObject);
begin
  If not Form1.DBGrid1.DataSource.DataSet.Locate(Form3.ComboBox1.Text,([Form3.Edit1.Text]),[]);
  Then ShowMessage('Поиск не дал результатов :(');
end;

end.

lmikle: Пользуемся тегами.

Последний раз редактировалось lmikle, 08.03.2016 в 05:53.
Ответить с цитированием
  #2  
Старый 08.03.2016, 05:54
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,032
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Ошбка - в прокладке.
Ты бы хоть описал что не так работает. На первый взгляд все правильно.
Возможно, надо доп флаги указать, что бы искало по части текста и без учета регистров.
Ответить с цитированием
  #3  
Старый 08.03.2016, 10:59
Alex-25 Alex-25 вне форума
Прохожий
 
Регистрация: 07.03.2016
Сообщения: 5
Версия Delphi: delphi 7
Репутация: 10
По умолчанию Вот такая я хреновая прокладка

При проверке выдает ошибку
[Ошибка] Unit3.pas(44): Ordinal type required

я пробовал прописывать тип, не дало результатов
Ответить с цитированием
  #4  
Старый 08.03.2016, 12:14
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

Код:
DataSet.Locate(Form3.ComboBox1.Text,([Form3.Edit1.Text]),[]);
Вы откуда такой синтаксис нашли? Это что? - ([Form3.Edit1.Text])
Видимо было в исходном примере: VarArrayOf([Form3.Edit1.Text])
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #5  
Старый 08.03.2016, 12:45
Alex-25 Alex-25 вне форума
Прохожий
 
Регистрация: 07.03.2016
Сообщения: 5
Версия Delphi: delphi 7
Репутация: 10
По умолчанию

нет,у меня dbgrib на форме 1, а окно поиска на форме 3, где есть эдит и комбобокс. задача такова, что в каком из столбцов дбгрида поиск текста в эдите зависит от комбобокса.
а с vararrayof пробовал, не получается, выдает ошибку

[Ошибка] Unit3.pas(44): 'THEN' expected but ';' found
[Ошибка] Unit3.pas(50): Statement expected but end of file found
[Фатальная ошибка] Project1.dpr(7): Could not compile used unit 'Unit3.pas'
Ответить с цитированием
  #6  
Старый 08.03.2016, 12:52
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

В Locate можно передавать несколько значений для поиска и тогда нужно эти значения завернуть в VarArrayOf(). Либо одно значение и тогда это просто строка:
Код:
DataSet.Locate(Form3.ComboBox1.Text,Form3.Edit1.Text,[]);

ПС: А ваши ошибки вообще к синтаксису локейта не имеют никакого отношения.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 11:23.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter