Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Почему не фильтруется ADOQuery?


Страницы:   1 2 3 4 5 6

andrewtitoff ©   (2009-11-08 22:20:00) 

Выдает ошибку 'Не удается найти объект в семействе, соответствующий требуемому имени или порядковому номеру' в строке Form1.ADOQuery1.Filtered:=true;

procedure TForm2.ComboBox1Change(Sender: TObject);
begin
Form1.ADOTable4.Filter:='STREET = '''+ComboBox1.Text+'''';
Form1.ADOTable4.Filtered:=true;
ComboBox2.Items.Clear;
Form1.ADOQuery1.SQL.Text := 'select STREET and HOUSE from lift';
Form1.ADOQuery1.Open;
while not Form1.ADOQuery1.Eof do
begin
Form1.ADOQuery1.Next;
end;
Form1.ADOQuery1.Filter:='street = '''+ComboBox1.Text+'''';
Form1.ADOQuery1.Filtered:=true;
Form1.ADOQuery1.SQL.Text := 'select distinct HOUSE from lift';
Form1.ADOQuery1.Open;
while not Form1.ADOQuery1.Eof do
begin
Form2.ComboBox2.Items.Add(Form1.ADOQuery1.Fields[0].AsString);
Form1.ADOQuery1.Next;
end;
end;


Andrewtitoff   (2009-11-09 14:20:00) [61]

А не может информация искажаться из - перетаскивания в комбобокс и обратно?
Ну скажем в таблице ячейка равна Nil, а после манипуляций с комбобоксом возвращается в каком нибудь другом виде?


Сергей М.   (2009-11-09 14:19:00) [62]


> я же из комбобокса выбираю


Да по барабану откуда ты выбираешь.
Если "пустое" по факту есть NULL, значит и условие отбора д.б. Is NULL, а не =""


Andrewtitoff   (2009-11-09 14:16:00) [63]


> Сергей М. ©   (09.11.09 14:11) [54]
> > где поле корпус пустое?SELECT ... FROM .. WHERE (где)
> MyField (поле корпус) IS NULL (пустое)

Не совсем, я же из комбобокса выбираю, т.е. запрос выглядит так:

Form1.ADOQuery1.SQL.Text := 'select distinct PARNUM from lift WHERE (STREET = '''+ComboBox1.Text+''') and (HOUSE = '''+ComboBox2.Text+''') and (CORP = '''+ComboBox3.Text+''')';


Andrewtitoff   (2009-11-09 14:15:00) [64]


> sniknik ©   (09.11.09 14:09) [53]
> > нужны именно те записи - где поле корпус пустое?WHERE
> корпус = ''илиWHERE корпус IS NULLв зависимости от того,
>  что у тебя там.

Ну так я сейчас посмотред про помощи Шовмессаге - что получается у меня в фильтре - как раз " корпус = '' " и получается, а таблица с таким фильтром пустой остается....


Сергей М.   (2009-11-09 14:11:00) [65]


> где поле корпус пустое?


SELECT ... FROM .. WHERE(где) MyField(поле корпус) IS NULL(пустое)


sniknik   (2009-11-09 14:09:00) [66]

> нужны именно те записи - где поле корпус пустое?
WHERE корпус = ''
или
WHERE корпус IS NULL
в зависимости от того, что у тебя там.


Andrewtitoff   (2009-11-09 14:05:00) [67]

А как быть с пустыми полями в таблице?
скажем у меня есть записи
Ветеранов д3 к2 п1
Ветеранов д3 к2 п2
Ветеранов д3 к2 п3
Ветеранов д3 п1
Ветеранов д3 п2
Ветеранов д3 п3

Как в запросе и в сортировке указать что мне нужны именно те записи - где поле корпус пустое?, т.к. при выборе из комбобокса загруженного ранее туда при помоши запроса пустого значения(я так понимаю что оно не пустое - а там неотображаемый символ какой -то) и результат запроса и фильтра АДОТайбла оказываются пустыми... =(((


kyn66   (2009-11-09 12:14:00) [68]


> Anatoly Podgoretsky ©   (09.11.09 11:54) [50]


No comments...


Anatoly Podgoretsky   (2009-11-09 11:54:00) [69]

> kyn66  (09.11.2009 11:44:47)  [47]

Как раз в песочнице копаемся.


sniknik   (2009-11-09 11:49:00) [70]

> А этот бред к чему сказан? Мы тут вроде не в песочнице общей играемся...
это не бред, и не для песочницы, это как раз очень серьезно. к любой проблеме нужно подходить так как будто ты сам накосячил, или не знаешь чего то, а не кивать на "кривые компоненты/винду/и т.д.". это здравый подход, и оправдывает себя в 97% случаев...
а вот обижаться на непонятый совет, это по детски...


sniknik   (2009-11-09 11:45:00) [71]

> когда и фильтрует и добавляется без проблем
насчет фильтра... в ADO мастер детайл можно настроить двумя вариантами, первый с применением запросов, второй фильтрацией контента на клиенте...
ну думаю дальше объяснять не надо, если фильтрация уже используется, то с использованием ее еще раз возможны проблемы...
ну и само собой у "противников запросов" (ака приверженцев старой BDE-шной идеологии) проблемы как из рога изобилия.


kyn66   (2009-11-09 11:44:00) [72]


> Anatoly Podgoretsky ©   (09.11.09 11:34) [46]
> > kyn66  (09.11.2009 11:30:45)  [45]


Не помню уже точно какая была ситуация (давно было), но проблемы какие то были.


> может тебе стоит посмотреть в свою сторону, а не искать
> врагов на стороне?


А этот бред к чему сказан? Мы тут вроде не в песочнице общей играемся...


Anatoly Podgoretsky   (2009-11-09 11:34:00) [73]

> kyn66  (09.11.2009 11:30:45)  [45]

Какой еще наезд, когда и фильтрует и добавляется без проблем, может тебе стоит посмотреть в свою сторону, а не искать врагов на стороне?


kyn66   (2009-11-09 11:30:00) [74]


Anatoly Podgoretsky ©   (09.11.09 11:09) [42]
> А надо в нужных, а не в исключительных и никаких проблем
> с добавлением нет


Те же ... только в профиль. Зачем по пустому придирки клеить. И так было понятно об чем речь. ВАс, уважаемый Anatoly Podgoretsky хлебом не корми, дай на кого наехать...


Anatoly Podgoretsky   (2009-11-09 11:22:00) [75]

> sniknik  (09.11.2009 11:10:43)  [43]

Если не видно, то нет никаких SQL запрос по логике.


sniknik   (2009-11-09 11:10:00) [76]

> Не вопрос, можно и так.
вопрос не в том можно или нет, или что предпочесть при разработке, вопрос обошелся я в этом случае без "отбора SQl" или нет?


Anatoly Podgoretsky   (2009-11-09 11:09:00) [77]

> kyn66  (09.11.2009 10:26:40)  [40]

А надо в нужных, а не в исключительных и никаких проблем с добавлением нет


Sergey13   (2009-11-09 10:46:00) [78]

> [40] kyn66 ©   (09.11.09 10:26)
> если за ключом клавной не уследить.

А как ты за ним следишь?

ЗЫ: представляю какой бардак у тебя в данных.


kyn66   (2009-11-09 10:26:00) [79]


> sniknik ©   (09.11.09 10:06) [39]
> > Однако без отбора SQl по ComboBox.onChange всеравно не
> обойтись.да ну? а если я настрою мастер детайл,


Не вопрос, можно и так. Лично я мастер-детайл сейчас стораюсь применять в исключительных случаях. Есть проблемы с добавлением записей в зависимые таблицы, если за ключом клавной не уследить.


sniknik   (2009-11-09 10:06:00) [80]

> Однако без отбора SQl по ComboBox.onChange всеравно не обойтись.
да ну? а если я настрою мастер детайл, и запросы оно будет само "унутрях" формировать, не привлекая меня, это будет считаться, что обошелся без них?

в конце концов ADOTable тоже запрос посылает, но используют же его те кто хочет обойтись без знаний sql. и считают что обходится без запросов.

p.s. хотя конечно настраивать мастер детайл по строковым полям как то дико...


Страницы:   1 2 3 4 5 6

Наверх

Титульная страница Поиск, карта сайта Написать письмо