Показать сообщение отдельно
  #1  
Старый 23.11.2011, 01:19
Chinvad Chinvad вне форума
Прохожий
 
Регистрация: 23.11.2011
Сообщения: 23
Репутация: 10
По умолчанию DBLookupComboBox ослеп

Здравствуйте, уважаемые! Очень нужна помощь.
DBLookupComboBox выводит из таблицы Access некоторые виды услуг (по категориям... типа Женский, Мужской зал и т.п.) в некоторой парикмахерской. Но так как возможности салона постоянно расширяются, появляется потребность в добавлении нового вида услуг... Для этого в таблице есть запись "ДРУГОЕ", которая также отражается в DBLookupComboBox. Так вот при клике на эту запись происходит редактирование таблицы, в результате которого вместо "ДРУГОЕ" появляется введенная пользователем запись. А уже потом к таблице добавляется очередная безликая запись "ДРУГОЕ"... все это для того чтобы она была в списке последней (для удобства просмотра и осознания необходимости добавления новой услуги). Код я приведу чуть ниже... Так вот в чем же проблема! Один раз я это дело протестировала... Добавилась к таблице моя новая запись, а ниже ее нарисовалось и то самое "ДРУГОЕ". Все это отразилось вот прямо как надо в DBLookupComboBox. НО! Второй раз я это проделать не могу.
PHP код:
if (DBLookupComboBox3.Text='ДРУГОЕ'then
   begin
   
if DM.Uslugi.Locate('категория;услуга',VarArrayOf([ComboBox1.Text,DBLookupCombobox3.Text]),[]) then
      begin
      
//На место записи с пометкой "Другое" вставляем запись с новой услугой
      
DM.Uslugi.Edit;
      
DM.Uslugi.FieldByName('услуга').AsString:=InputBox('Запись','Введите описание оказанной услуги.','');
      
DM.Uslugi.FieldByName('стоимость_услуги').AsFloat:=StrToFloat(InputBox('Запись','Введите стоимость оказанной услуги.',''));
      
DM.Uslugi.Post;

      
//Выводим на форму
      
DBLookupCombobox3.KeyValue := DM.Uslugi.FieldByName('услуга').AsString;
      
Edit1.Text:=FloatToStr(DM.Uslugi.FieldByName('стоимость_услуги').AsFloat);

      
//Заново создаем запись с пометкой "Другое" (чтобы она была в списке последней)
      
DM.Uslugi.Insert;
      
DM.Uslugi.FieldByName('категория').AsString:=ComboBox1.Text;
      
DM.Uslugi.FieldByName('услуга').AsString:='ДРУГОЕ';
      
DM.Uslugi.Post;
      
end;
   
end
Вхожу на F7 в процедуру и наблюдаю следующее:
Доходит до строчки
PHP код:
if (DBLookupComboBox3.Text='ДРУГОЕ'then 
и не принимая мой добросовестный клик на "ДРУГОЕ" благополучно скачет на end;
Я в тупике, господа... Помогите, пожалуйста!!! ))
Ответить с цитированием