Главная страница
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.01 c
3-90214
Savage
2001-12-21 02:44
2002.01.28
Как пользователь может узнать о изменениях данных, сделанных другим пользователем?


1-90251
Alex Marmuzevich
2002-01-08 23:12
2002.01.28
DLL и EXE в одном флаконе.


7-90387
Media
2001-10-12 09:19
2002.01.28
MP3 - Головная боль


6-90329
Alexandr
2001-11-05 12:14
2002.01.28
Print Server и печать из-под DOS


1-90255
Delphimun
2002-01-09 15:00
2002.01.28
Как искать во вложенных папках файлы?