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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.01.2008, 13:02   #1
фЁдОр
Форумчанин
 
Аватар для фЁдОр
 
Регистрация: 06.09.2007
Сообщений: 908
По умолчанию Отображение первой записи таблицы DBLookupComboBox

Здравствуйте, уважаемые программисты!
Теперь уже поздравляю Всех с наступившим Новым годом !

Подскажите, пожалуйста, как мне вывести первую строку таблицы из БД созданной в аксессе.
Сейчас постараюсь обяснить свою суть:
имеется таблица groups(содержаться информация о группе товаров) и таблица price (содержится информация о товарах). таблица groups у меня подключена к DBLookupComboBox, а таблица price у меня отображается в DBGrid. Обе таблицы связаны для того, чтобы в выпадающем списке можно было выбрать группу товаров, а гриде отображались эти товары.
А проблема моя заключается в том, что при запуске приложения у меня в DBLookupComboBox "пустота", группы товаров могу выбрать только когда я раскрою этот список. Не могу понять, как мне при зупуске приложения, что бы уже в DBLookupComboBox была отображена первая запись таблицы groups. Нужно это для того, что при запуске приложения в DBLookupComboBox отображалась запись "Выберите группу товаров", а гриде отображались все товары всех групп.
Я пробовал при событии FormCreate писать groups.first; - не помогло. пробовал и в свойстве ListFieldIndex компонента DBLookupComboBox устанавливать 1-цу - тоже не помогло, также пробовал при событии FormCreate писать
Код:
DBLookupComboBox1.KeyValue:=form1.ADOQueGroupsRatissDisk.FieldValues['name']
-тогда вообще компилятор ругается.
Искал на форуме - нашел обдну похожую тему http://www.programmersforum.ru/showt...lookupcombobox, но тоже не смог решить свою проблему.
фЁдОр вне форума Ответить с цитированием
Старый 02.01.2008, 14:13   #2
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Вы как-то странно написали:
DBLookupComboBox1.KeyValue:=form1.A DOQueGroupsRatissDisk.FieldValues['name']
Попробуйте:
DBLookupComboBox1.KeyValue:=form1.A DOQuery.FieldByName(имя поля, указанного в ListField компонента DBLookupComboBox).Value;

Последний раз редактировалось mihali4; 02.01.2008 в 14:16.
mihali4 вне форума Ответить с цитированием
Старый 02.01.2008, 14:23   #3
фЁдОр
Форумчанин
 
Аватар для фЁдОр
 
Регистрация: 06.09.2007
Сообщений: 908
По умолчанию

Цитата:
Сообщение от mihali4 Посмотреть сообщение
Вы как-то странно написали:
DBLookupComboBox1.KeyValue:=form1.A DOQueGroupsRatissDisk.FieldValues['name']
Попробуйте:
DBLookupComboBox1.KeyValue:=form1.A DOQuery.FieldByName(имя поля, указанного в ListField компонента DBLookupComboBox).Value;
FieldByName не отображается, а FieldValues выпадает когда я ставлю точку после DBLookupComboBox, т.е.
ADOQuery.FieldByName(''GroupsName') .Value - я не могу написать, а ADOQuery.FieldValues['GroupsName'] - могу.
в поле GrousName из таблицы groups, это поле указано в ListField компонента DBLookupComboBox.

Последний раз редактировалось фЁдОр; 02.01.2008 в 16:40.
фЁдОр вне форума Ответить с цитированием
Старый 03.01.2008, 11:39   #4
фЁдОр
Форумчанин
 
Аватар для фЁдОр
 
Регистрация: 06.09.2007
Сообщений: 908
По умолчанию

Всё как всегда оказывается очень просто !
Нужно было всего лишь написать при событии FormCreate вот такую строчку:
form1.DBLookupComboBox1.KeyValue:=1 ; Только 1 - это не значение свойства ListField, компонента DBLookupComboBox1, а значение свойства KeyField, того же компонента.
А я блин столько дней ломал голову! Эээх...
mihali4 - Вам как всегда огромное спасибо!

Последний раз редактировалось фЁдОр; 03.01.2008 в 11:43.
фЁдОр вне форума Ответить с цитированием
Старый 03.01.2008, 14:20   #5
Pitbull
детский тренер
Форумчанин
 
Аватар для Pitbull
 
Регистрация: 08.06.2007
Сообщений: 532
По умолчанию

Цитата:
Сообщение от фЁдОр Посмотреть сообщение
Всё как всегда оказывается очень просто !
Нужно было всего лишь написать при событии FormCreate вот такую строчку:
form1.DBLookupComboBox1.KeyValue:=1 ; Только 1 - это не значение свойства ListField, компонента DBLookupComboBox1, а значение свойства KeyField, того же компонента.
А я блин столько дней ломал голову! Эээх...
mihali4 - Вам как всегда огромное спасибо!
и такое работает?)))) странно у меня нет!
Я злой и страФный серррый воФк, и в пАрАсятах знаю толк - ppp ppp pp p pp pp
Pitbull вне форума Ответить с цитированием
Старый 03.01.2008, 14:35   #6
фЁдОр
Форумчанин
 
Аватар для фЁдОр
 
Регистрация: 06.09.2007
Сообщений: 908
По умолчанию

Цитата:
Сообщение от Pitbull Посмотреть сообщение
и такое работает?)))) странно у меня нет!
а почему оно не должно работать? Не знаю - у меня получилось .
фЁдОр вне форума Ответить с цитированием
Старый 03.01.2008, 16:25   #7
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
и такое работает?)))) странно у меня нет!
В вашей таблице, видимо, нет значения "1" в поле, указанном как KeyField.
А у автора просто так совпало. Вопрос он так и не решил.
Вот это меня просто убило:
Цитата:
FieldByName не отображается, а FieldValues выпадает когда я ставлю точку после DBLookupComboBox
Похоже, руками работать совсем лень, используем только "выпадалки"?
mihali4 вне форума Ответить с цитированием
Старый 03.01.2008, 16:30   #8
фЁдОр
Форумчанин
 
Аватар для фЁдОр
 
Регистрация: 06.09.2007
Сообщений: 908
По умолчанию

Цитата:
нет значения "1" в поле, указанном как KeyField
можно подставить любое другое значение, таким образом отобразив при запуске приложения любую другую строчку, которая если имеется конечно.

Цитата:
Вопрос он так и не решил.
А вопрос я той строчкой, вообще-то решил.

Цитата:
Сообщение от mihali4 Посмотреть сообщение
Похоже, руками работать совсем лень, используем только "выпадалки"?
Ничего подобного, я и руками набирал, но компилятор потом ругается!
mihali4, при всём, конечно, к Вам уважении, но Вы попробуйте сами откомпилировать Ваш предложенный вариант.

Последний раз редактировалось фЁдОр; 03.01.2008 в 17:19.
фЁдОр вне форума Ответить с цитированием
Старый 03.01.2008, 20:02   #9
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
mihali4... попробуйте сами откомпилировать Ваш предложенный вариант.
Прилагаю исходник:
Вложение 2234
Exe-шник (310 кил) "не пролезает" в рамки максимального размера файла, установленного для "прицепов"...
Если нужно, скину вам на мыло.

P.S. Пардон, смотрел только на верхние, видимые пределы для картинок
Вот экзешник:
Вложение 2235

Последний раз редактировалось mihali4; 08.11.2008 в 14:04.
mihali4 вне форума Ответить с цитированием
Старый 03.01.2008, 22:43   #10
Alar
Александр
Администратор
 
Аватар для Alar
 
Регистрация: 28.10.2006
Сообщений: 17,758
По умолчанию

Цитата:
Сообщение от mihali4 Посмотреть сообщение
Прилагаю исходник:
Вложение 2234
Exe-шник (310 кил) "не пролезает" в рамки максимального размера файла, установленного для "прицепов"...
Если нужно, скину вам на мыло.
там предел 4 метра если я не ошибаюсь.
Alar вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Изменение первой буквы Костя Общие вопросы Delphi 4 28.11.2007 14:31
Отображение записи (работа с ADO) А. Долматов БД в Delphi 3 21.08.2007 16:58
Отображение записи Mirlan БД в Delphi 7 11.06.2007 10:17
DBLookupCombobox??? Alexcandr Компоненты Delphi 2 05.04.2007 16:46