Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.06.02;
Скачать: [xml.tar.bz2];

Вниз

Заполнене Combobox c учётом регистра   Найти похожие ветки 

 
Stalin   (2003-05-13 14:32) [0]

Мастера.
Заполняю combobox из таблицы:
if (Combobox.items.indexof(form1.table1.fieldbyname("Kind").asstring)=-1)and(Form1.table1.FieldByName ("Kind").asstring<>"") then
combobox.items.add(Form1.table1.fieldbyname("Kind").asstring);
Form1.table1.next;
Делов том, что в поле "Kind" может быть значение "ППП" или "Ппп" или "пПп", что означает разную реакцию. А выбирается только то, что встречается первым (ППП). Очевидно он не учитывает регистр.
Как это преодолеть?
DBCombobox использовать не могу(есть другие виды запросов, которые это исключают).


 
Leshiy   (2003-05-13 14:59) [1]

Убрать
(Combobox.items.indexof(form1.table1.fieldbyname("Kind").asstring)=-1)


 
Otchet   (2003-05-13 15:07) [2]

Не всё так просто.
Если убрать
(Combobox10.items.indexof(form1.table1.fieldbyname("Kind").asstring)=-1),то будут выбирать все записи, т.е. будут повторы. А так как каличество записей 5000, то сколько может быть повторов....Я потому и вставил эту строку.


 
Соловьев   (2003-05-13 15:26) [3]


> Otchet (13.05.03 15:07)

поля беруться из справочника? или просто из таблицы где много повторов?
может
select distinct(field) as CBfield
from table

with Query do
begin
Close;
Open;
while not Eof do
begin
ComboBox.Items.Add(FieldByName("CBfield").AsString);
Next;
end;
end;


 
VAleksey   (2003-05-13 15:34) [4]

Может ручками поискать тогда ? Перебором всех значений из Стринглиста.


 
Otchet   (2003-05-13 15:45) [5]

>Соловьев
Из таблицы где много повторов.
Query не подойдёт

>VAleksey
Не понял...
Данные берутся из таблицы, где тысячи записей.
Последний столбец и есть "Kind". Т.е. может быть очень большое количество повторов. Моя задача вывести данные из последнего столбца без повторов, но пока получается так, что выводятся без учёта регистра(а это важно, т.к. ППП и ПпП имеют разный смысл).
Вот весь запрос:
While not Form1.Table1.Eof do
begin
if form1.table1.fieldbyname("Word").asstring=stimul then
if (Combobox10.items.indexof(form1.table1.fieldbyname("Kind").asstring)=-1)and(Form1.table1.FieldByName("Kind").asstring<>"") then
combobox10.items.add(Form1.table1.fieldbyname("Kind").asstring);
Form1.table1.next;
Если "Word" равен искомому стимулу, то смотрю Kind. Если такого нет в Combobox"e и поле заполнено, то добавляю в список.


 
Соловьев   (2003-05-13 15:47) [6]


> Query не подойдёт

не ужели?


 
Otchet   (2003-05-13 16:35) [7]

query1.SQL.add ("select distinct(kind) as CBfield from "base.db" where word=stimul);
Ругается на Stimul(это переменная:string).
Как правильно записать запрос?


 
dash78   (2003-05-13 16:38) [8]

query1.SQL.add ("select distinct(kind) as CBfield from "base.db" where word="+stimul+";");


 
Соловьев   (2003-05-13 16:43) [9]

select distinct(kind) as CBfield from "base.db" where word= :word

with Query do
begin
Close;
ParamByName("word").AsString := Edit1.Text;
if not Prepared then Prepare;
Open;
end;


 
Otchet   (2003-05-13 16:59) [10]

>dash78 ©
Не word="+stimul+";, а word="""stimul"""";
Извиняюсь, сам стормозил.


 
Соловьев   (2003-05-13 17:02) [11]

забудь ты про эти кавычки. Пользуйся параметрами - и быстрее, и понятнее. И если уже на то пошло, то посмолтри в сторону функции - QuotedStr.



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

Форум: "Базы";
Текущий архив: 2003.06.02;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.008 c
1-2843
Vladimir1
2003-05-21 09:14
2003.06.02
Программная задержка


1-2986
Silver_
2003-05-21 15:46
2003.06.02
TTreeView при потере фокуса чтоб курсор остовался ВИДНЫМ


1-3003
JS
2003-05-21 18:54
2003.06.02
Перерисовка компонента


14-3159
Checist [root]
2003-05-09 15:19
2003.06.02
WinAPI


14-3116
Axis_of_Evil
2003-05-14 14:03
2003.06.02
stdcall





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский