ADOQuery błąd przy próbie filtrowania

Cytat z postu "dbExpress i MSSQL 8, Zestawienie połącznienia."
Dla rozwiania wątpliwości.
ADOQuery->SQL->Text -używane do połączenia kilku tabel w jedną (inner join, outer join.. itp), nie przewiduję filtrowania przez kwerendę bo program ma być jak najbardziej intuicyjny.
ADOQuery->Filter - tym filtruję wyniki zwrócone z kwerendy (filtrowanie wyników można dostrzec przez zmianę paska pionowego przewijania DBGrid1, ale nie na arkuszu DBGrid1).
Jeżeli zamiast ADOQuery1 wstawie ADOTable1 to wszystko działa bez zarzutu ale nie mam potrzebnych danych z innych tabel..
banita napisał(a):Co do ADO to kiedys pisalem taki sytem podpowiedzi (sugerowanie co uzytkownik moze wprowadzic w danym polu, mozliwe wartosci pobierane z bazy np kody pocztowe). podczas wprowadzanai danych rozwija sie lista ktora parsowala sugerowane wyniki zgodnie z tym co zostalo juz wprowadzone. parsowanie opieralo sie o filtrowanie wynikow w ADOQuery i DBGrid, calosc chodzi pieknie i nie ma problemow z oodswiezaniem.
jesli chcesz odczytac wartosci z komorek w DBGrid to musisz odwolac sie do obiektu TADOQueery ktory jest polaczony z tym gridem. bezposrednio do tego query albo za posrednictwem wlasciwosci datasource, data set ....
Dla rozwiania wątpliwości.
ADOQuery->SQL->Text -używane do połączenia kilku tabel w jedną (inner join, outer join.. itp), nie przewiduję filtrowania przez kwerendę bo program ma być jak najbardziej intuicyjny.
ADOQuery->Filter - tym filtruję wyniki zwrócone z kwerendy (filtrowanie wyników można dostrzec przez zmianę paska pionowego przewijania DBGrid1, ale nie na arkuszu DBGrid1).
- Kod: Zaznacz cały
void __fastcall TForm1::Edit1KeyUp(TObject *Sender, WORD &Key,
TShiftState Shift)
{
if (Key==VK_RETURN){
if (Edit1->Text!=""){
ADOQuery1->Filtered=false;
ADOQuery1->Filter=ComboBox1->Text+" Like '*"+Edit11->Text+"*'";//combobox przechowuje nazwy kolumn, edit1 to treść filtra
ADOQuery1->Filtered=true;//teraz powinno odbyć się filtrowanie i DBGrid1 powinno się odświerzyć
}else
ADOQuery1->Filtered=false;
}
}
Jeżeli zamiast ADOQuery1 wstawie ADOTable1 to wszystko działa bez zarzutu ale nie mam potrzebnych danych z innych tabel..