|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
DBLookupComboBox ослеп
Здравствуйте, уважаемые! Очень нужна помощь.
DBLookupComboBox выводит из таблицы Access некоторые виды услуг (по категориям... типа Женский, Мужской зал и т.п.) в некоторой парикмахерской. Но так как возможности салона постоянно расширяются, появляется потребность в добавлении нового вида услуг... Для этого в таблице есть запись "ДРУГОЕ", которая также отражается в DBLookupComboBox. Так вот при клике на эту запись происходит редактирование таблицы, в результате которого вместо "ДРУГОЕ" появляется введенная пользователем запись. А уже потом к таблице добавляется очередная безликая запись "ДРУГОЕ"... все это для того чтобы она была в списке последней (для удобства просмотра и осознания необходимости добавления новой услуги). Код я приведу чуть ниже... Так вот в чем же проблема! Один раз я это дело протестировала... Добавилась к таблице моя новая запись, а ниже ее нарисовалось и то самое "ДРУГОЕ". Все это отразилось вот прямо как надо в DBLookupComboBox. НО! Второй раз я это проделать не могу. PHP код:
Доходит до строчки PHP код:
Я в тупике, господа... Помогите, пожалуйста!!! )) |
#2
|
||||
|
||||
Перед строчкой
Код:
if (DBLookupComboBox3.Text='ДРУГОЕ') then Код:
ShowMessage(DBLookupComboBox3.Text); Google в помощь |
#3
|
|||
|
|||
PHP код:
|
#4
|
||||
|
||||
Вы несколько неверно сделали. Делается следующее. Источником данных для вашего лукапа формируется запрос вида:
Код:
select Код,Услуга from Услуги union select -1,'другое' Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#5
|
|||
|
|||
Я тоже так подумала сначала... Но как же так... Открываю БД в Access, а там все мои записи, вот именно так, как я их вводила. Они и отражаются в DBLookupComboBox3.Text. Что я делаю принципиально не так???
|
#6
|
||||
|
||||
Попробуйте после строчки
Код:
DM.Uslugi.Post; Код:
DBLookupComboBox3.ListSource.DataSet.Close; DBLookupComboBox3.ListSource.DataSet.Open; Google в помощь |
#7
|
|||
|
|||
Не помогает. Он даже в условие if не заходит, просто не видит эту строчку. Переделала все в самой БД. Открываю-закрываю наборы данных, бестолку. Страдалецъ прав... но я не понимаю почему я не могу делать так, как сделала )
Последний раз редактировалось Chinvad, 23.11.2011 в 12:48. |
#8
|
||||
|
||||
Если отбросить элемент мистики, то сделайте следующее:
1. Сделайте точку останова на if (DBLookupComboBox3.Text='ДРУГОЕ') then 2. Вызовите окошко Evaluate/Modify по Ctrl+F7 3. Вычислите выражение DBLookupComboBox3.Text='ДРУГОЕ' Если значение в DBLookupComboBox3.Text = 'ДРУГОЕ' а результат вычисление все-же False то либо Дельфи баганулся и тут перезагрузка компа может помочь, либо что более вероятно, у вас действительно 'ДРУГОЕ' <> 'ДРУГОЕ', а тут может быть например подмена буковок: 'ДPУГОЕ' <> 'ДРУГОЕ' 'ДРУГOЕ' <> 'ДРУГОЕ' 'ДРУГОE' <> 'ДРУГОЕ' Все три приведенных неравенства истинны Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#9
|
|||
|
|||
Вопрос закрыт ) Слава Ildar-tsrУ )) Если кому-то интересно, то DBLookupCombobox3.Text везде нужно заменить на DBLookupComboBox3.KeyValue.
Последний раз редактировалось Chinvad, 23.11.2011 в 21:40. |