Częściowe porównywanie ciągów liczb
Napisane: piÄ…tek, 3 czerwca 2011, 19:55
Witam.
Natknąłem się na problem przy nakładaniu filtra na obiekty TTable. W przypadku, kiedy pole będące przedmiotem filtrowania jest typu string stosuje taką składnię:
W przypadku, kiedy pole jest typu liczbowego (u mnie dokładnie jest to integer), użycie takiej metody kończy się zwróceniem błędu: EVariantTypeCastError with message 'Could not convert variant of type (OleStr) into type (Boolean)'. Usunięcie znaków ' ' i * sprawia, że tabela się filtruje nie jest to jednak porównywanie częściowe - np. przy wyszukiwaniu rekordów po polu Id z warunkiem "1" nie są wyświetlane rekordy z id równym 14, 15 itd.
Powyższe instrukcje też nie działają Zna może ktoś rozwiązanie tego problemu?
Natknąłem się na problem przy nakładaniu filtra na obiekty TTable. W przypadku, kiedy pole będące przedmiotem filtrowania jest typu string stosuje taką składnię:
KOD cpp: • UKRYJ •
DataModule1->UKD->Filter="Opis='"+ Edit31->Text +"*'";
DataModule1->UKD->Filtered=true;
DataModule1->UKD->Filtered=true;
KOD cpp: • UKRYJ •
DataModule1->Wydawnictwa->Filter="Id like "+Edit22->Text+"";
KOD cpp: • UKRYJ •
DataModule1->Wydawnictwa->Filter="Id = "+Edit22->Text+"*";
Powyższe instrukcje też nie działają Zna może ktoś rozwiązanie tego problemu?