Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.01.28;
Скачать: CL | DM;

Вниз

Поиск в базе данных (Очень срочно!!!)   Найти похожие ветки 

 
Кнопка   (2001-12-07 09:32) [0]

В моей базе данных(Dbase) существует несколько полей. В одном из них есть несколько одинаковых (текстовых) записей. Я пытаюсь найти эти записи, т.е. чтобы отобразились все записи с одинаковым значением. Я использую Filter почему не получается?
Посоветуйте что-нибудь ещё!!!!!!!!!


 
Alexandr ©   (2001-12-07 09:36) [1]

да, наверное тебе действительно очень срочно надо...
Так что ты даже объяснить толком не смог в чем проблема, что не получается, и что тебе посоветовать.

Знаешь, честно говоря, по твоему вопросу хочется посоветовать забросить нафиг программирование из заняться чем-нибудь другим.
Это не наезд это шутка


 
Дмитрий Д. ©   (2001-12-07 10:03) [2]

попробуй добавить поле для флага и сделать такую обработку (первое что пришло в голову, так что заранее извеняюсь):

// допустим твоя таблица Table1 а поле с одинаковыми значениями Field_str
//(стринговое), поле для флага Field_f (булеан),var_str стринговая
// переменная

// сортирни таблицу по полю Field_str

Table1.first;
var_str := Table1.FieldByName("Field_str").asstring;
Table1.Edit;
Table1.fieldbyname("Field_f").value := false;
Table1.post;
Table1.Next;

while not Table1.eof do
begin
if var_str = Table1.FieldByName("Field_str").asstring then
begin
Table1.Edit;
Table1.fieldbyname("Field_f").value := true;
Table1.post;
end
else
begin
Table1.Edit;
Table1.fieldbyname("Field_f").value := false;
Table1.post;
var_str := Table1.FieldByName("Field_str").asstring;
end;
Table1.Next;
end;

// после этого сделай фильтр по Field_f
// у тебя будут все записи в которых есть дубляж по полю Field_str

еще раз извиняюсь за сей код...
всего этого гемороя можно избжать если ты используешь SQL...


 
sudiv ©   (2001-12-07 12:14) [3]

Через фильтр должно работать, это кстати проще всего.
А Filtered = = true ? Свойство такое еще есть.


 
Smile   (2001-12-10 09:44) [4]

В моей базе данных допустим в поле name есть несколько одинаковых записей. При использовании Locate отображается только самая первая найденная запись. Я пытаюсь поставить фильтр, но при поиске выскакивает такая надпись “filter expression incorrectly terminated”. Только при использовании фильтра в числовых полях нет никаких ошибок. Использовать методы GoToNearest не могу, так как база не проиндексирована. Вообщем одни проблемы.


 
Alex Y   (2001-12-10 10:13) [5]

Попробуй
Select * From Table1 Where Name = Any(Select Name,Count(*) as k From Table1 Where k > 1 Group By Name)

Медленно, но должно сработать.


 
KMZ   (2001-12-20 08:12) [6]

Попробуй так:
Table1.filter:="Поле1="+edit1.text;
Table1.filtred:=true;


 
Петрович ©   (2001-12-20 09:21) [7]

Smile, Кнопка звучит лучше! ;o)

По твоей проблеме! Как я понял, при фильтрации по числовым полям все нормально, а при строковым выскаивает ошибка?! Которая в переводе означает, что "выражение фильтра некорректно завершено". Т.о. решение проблемы следующее (слегка правим совет KMZ):


Table1.filtred:=false;
Table1.filter:="Поле1="""+edit1.text+""""; { Или вместо "" ставим ", я точно не помню, что там работает ;o) }
Table1.filtred:=true;


И все равно, "Кнопка" лучше звучит! ;o)


 
Evgen1   (2001-12-20 17:05) [8]

Если все еще нужно то маленькое дополнение
пример

Table1.filtred:=false;
Table1.filter:="Поле1="""+edit1.text+""""; { Или вместо "" ставим ", я точно не помню, что там работает ;o) }
Table1.filtred:=true;

будет работать в такой редакции


Table1.filtred:=false;
Table1.filter:="Поле1="+#39+edit1.text+#39;
Table1.filtred:=true;
#39 - код кавычки


 
Smile ©   (2001-12-25 11:31) [9]

НЕт, это у меня что-то с глазами или моих 22 ответа действительно нет?
Мистика какая-то...



Страницы: 1 вся ветка

Текущий архив: 2002.01.28;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.011 c
7-90391
Dmitriy-5
2001-10-10 14:49
2002.01.28
Как работать с адресом памяти


14-90376
VEG
2001-12-05 10:46
2002.01.28
To Создателям этого сайта...


1-90266
Dreamer
2002-01-09 22:19
2002.01.28
Нужно ниспадающее окошко с хелпом при зависании над каким-либо обьектом,


1-90280
FX_Demon
2002-01-09 20:31
2002.01.28
!!OpenGL!!


1-90301
Oleg Fomicheff
2002-01-11 06:18
2002.01.28
Куда копировать DCU? или Почему не ставятся компоненты?