Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.07.2010, 18:05   #31
Епгений
Пользователь
 
Регистрация: 04.05.2010
Сообщений: 59
По умолчанию

Ну так как ребята, как будет, хотелось бы именно как с примером М_Виктора, а то от SQL уже голова болит 'в хорошем смысле слова'
Епгений вне форума Ответить с цитированием
Старый 19.07.2010, 18:41   #32
Korben5E
Форумчанин
 
Аватар для Korben5E
 
Регистрация: 13.07.2010
Сообщений: 346
По умолчанию

для начала поле Да/Нет поменяй на boolean
Non est culpa vin, sed culpa bibentis
Korben5E вне форума Ответить с цитированием
Старый 19.07.2010, 19:03   #33
Епгений
Пользователь
 
Регистрация: 04.05.2010
Сообщений: 59
По умолчанию

Цитата:
Сообщение от Korben5E Посмотреть сообщение
для начала поле Да/Нет поменяй на boolean
Имеешь ввиду поле ФЛГ? А зачем на boolean и со string отлично работает.
Ээ вы хотите сделать таким образом: If как там было Покровск = true then false
Епгений вне форума Ответить с цитированием
Старый 19.07.2010, 20:01   #34
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
а то от SQL уже голова болит 'в хорошем смысле слова'
так получилось выполнить запрос или нет?!!


а подсчёт перебором можно выполнить так:
Код:
begin
  i:=0;
  DataModule2.FindQuery.First;
  while not DataModule2.FindQuery.Eof do
  begin
   if (AnsiUpperCase(DataModule2.FindQuery.FieldByName('Место').AsString)='ПОКРОВСК')
     and (AnsiUpperCase(DataModule2.FindQuery.FieldByName('ФЛГ').AsString)='ДА')
      then i:=i+1;
   DataModule2.FindQuery.Next;
  end;

  Application.MessageBox(
    PChar('В Покровске '+IntToStr(i)+' прошло ФЛГ '),
    'Сообщение', MB_ICONWARNING or MB_OK);

Последний раз редактировалось Serge_Bliznykov; 19.07.2010 в 20:10.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 20.07.2010, 13:44   #35
Епгений
Пользователь
 
Регистрация: 04.05.2010
Сообщений: 59
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
так получилось выполнить запрос или нет?!!
Да пробовал, все равно ругался я не понял на что, да и метод перебора который вы дали, отлично с этим справляется да и времени мало осталось.
Я вот поработал с кодом который вы дали мне программа запускается и на этом все считает лищь покровск=да:
Код:
var i,a:integer;
begin
i:=0;
a:=0;
DataModule2.FindQuery.First;
while not DataModule2.FindQuery.Eof do
begin
if (AnsiUpperCase(DataModule2.FindQuery.FieldByName('Место').AsString)='ПОКРОВСК')
and (AnsiUpperCase(DataModule2.FindQuery.FieldByName('ФЛГ').AsString)='ДА')
then i:=i+1;
if(AnsiUpperCase(DataModule2.FindQuery.FieldByName('Место').AsString)='Бестях')
and (AnsiUpperCase(DataModule2.FindQuery.FieldByName('ФЛГ').AsString)='ДА')
then  a:=a+1;
DataModule2.FindQuery.Next;
end;
Edit1.text:=IntToStr(i);
Edit2.text:=IntToStr(a);
чего здесь не хватает?

Последний раз редактировалось Stilet; 20.07.2010 в 13:53.
Епгений вне форума Ответить с цитированием
Старый 20.07.2010, 14:43   #36
quit
Я есть!
Форумчанин
 
Аватар для quit
 
Регистрация: 17.02.2008
Сообщений: 318
По умолчанию

Смотрите, вы же сами написали условие, что все должно быть в верхнем регистре
Цитата:
if(AnsiUpperCase(DataModule2.FindQuery.FieldByName( 'Место').AsString)='Бестях')
and (AnsiUpperCase(DataModule2.FindQuer y.FieldByName('ФЛГ').AsString)='ДА' )
©Учиться, учиться и еще раз учиться!
quit вне форума Ответить с цитированием
Старый 20.07.2010, 15:05   #37
Епгений
Пользователь
 
Регистрация: 04.05.2010
Сообщений: 59
По умолчанию

Цитата:
Сообщение от quit Посмотреть сообщение
Смотрите, вы же сами написали условие, что все должно быть в верхнем регистре
Извините я не так силён в программировании. 'AnsiUpperCase' и к таму же жутко не внимателен, а как должна быть?
Епгений вне форума Ответить с цитированием
Старый 20.07.2010, 15:07   #38
quit
Я есть!
Форумчанин
 
Аватар для quit
 
Регистрация: 17.02.2008
Сообщений: 318
По умолчанию

Код:
if(AnsiUpperCase(DataModule2.FindQuery.FieldByName( 'Место').AsString)='БЕСТЯХ')//вот так :)
and (AnsiUpperCase(DataModule2.FindQuer y.FieldByName('ФЛГ').AsString)='ДА' )
а по поводу функции AnsiUpperCase
Цитата:
function AnsiUpperCase ( const MixedString : string ) : string;
Функция AnsiUpperCase создает копию MixedString со всеми символами преобразованными в верхний регистр.
©Учиться, учиться и еще раз учиться!

Последний раз редактировалось quit; 20.07.2010 в 15:19.
quit вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подсчитать сколько раз заданное слово встречается в сообщении. kri* Помощь студентам 1 28.05.2010 22:29
Как подсчитать сколько раз встречается символ в строке? zver777 Общие вопросы Delphi 10 10.01.2010 00:57
подсчитать сколько раз встретилось каждое из чисел Х - бейсик Аля Самойлова Помощь студентам 12 11.05.2009 13:41
подсчитать на сколько процентов введенный символ похож на эталонный Кирилл13 Помощь студентам 4 20.12.2008 20:17