Форум: "Начинающим";
Текущий архив: 2007.06.03;
Скачать: [xml.tar.bz2];
ВнизПроблема с DBLookUpComboBox ом Найти похожие ветки
← →
Ki (2007-05-09 05:41) [0]у меня маленькая проблемка большого характера. дело в том что для отображения из базы нужной мне информациия пользуюсь DBLookUpComboBox"ом т.е. он отображает мне не идентификатор из главной таблицы, а соответствующую запись из справочника. вся сложность заключается в том что в базе данные есть и при запросе их все данные находятся, но когда начинаешь просматривать данные, то DBLookUpComboBox их не показывает или показывает только то что ему хочется. как сделать так чтоб все отображалось?
← →
Johnmen © (2007-05-09 11:16) [1]
> то DBLookUpComboBox их не показывает или показывает только
> то что ему хочется.
А что ему хочется?
Неплохо бы здесь почитать http://ln.com.ua/~openxs/articles/smart-questions-ru.html
← →
Ki (2007-05-10 05:39) [2]Бывает и не показывает, бывает и показывает то что ему угодно, а не мне. Я думаю, что это еще и от того что у меня несколько справочников. Потому что когда ссылается на единственный справочник( например "причина"), то все работает не подкопаешься, а например если создать несколько стправочников т.е. чтоб он сперва делил ну допустим на съедобное и не съедобное а после на грибы овощи или фрукты (надеюсь пример понятный) то вот тут он и поступает как ему хочется. я не знаю что делать. буду очень благодарна если подскажите какие-нибудь умные мысли.... за ранее благодарна.
← →
Johnmen © (2007-05-10 09:28) [3]
> а после на грибы ... (надеюсь пример понятный)
Да-да-да! С грибами пример понятный!
← →
Плохиш © (2007-05-10 11:02) [4]
> буду очень благодарна если подскажите какие-нибудь умные
> мысли
1. Читать вдумчиво книжки.
или
2. Kinder, Küche, Kirche
← →
Kostafey © (2007-05-10 11:16) [5]> он отображает мне не идентификатор из главной таблицы, а
> соответствующую запись из справочника
А что ожидалось наоборот? Тогда DBEdit
> DBLookUpComboBox их не показывает или показывает только
> то что ему хочется. как сделать так чтоб все отображалось?
Правильно насторить свойства DBLookUpComboBox. Или проблема как раз в этом?
> Я думаю, что это еще и от того что у меня несколько справочников
1 DBLookUpComboBox работает с 1 справочником.
Нужны данные из 2- х справочников подключаем 2-й DBLookUpComboBox
> > а после на грибы ... (надеюсь пример понятный)
>
> Да-да-да! С грибами пример понятный!
Вот про грибы как раз ничего не понятно ;)
Короче, структуру БД в студию !
← →
Johnmen © (2007-05-10 11:19) [6]
> Вот про грибы как раз ничего не понятно ;)
Это потому, что ты их ещё не курил...:)))
← →
Kostafey © (2007-05-10 11:22) [7]> Это потому, что ты их ещё не курил...:)))
А их курят ??? :))
Все перекурил, все перепробовал а вот грибы не доводилось ;)
← →
Правильный Вася (2007-05-10 12:48) [8]
> А их курят ??? :))
их только курят, остальное - ребячество
← →
Ki (2007-05-13 07:22) [9]мда! мне помимо грибов на ум приходят только ягоды :) (что то фантазия пропала совсем) , то о чем делаю я свою бд вам придется очень долго объяснять и наверное все равно не получится. так что попробую на ягадах (их не курят кажется) более понятно. сперва идет справочник в котором данные съедобные или не съедобные. потом справочник в котором идут название ягод и также связь со справочником со съедобными или нет. потом справочник о том где растет (лес поле огород или еще где). вот когда в одном DBLookUpComboBox выбираешь съедобные он во втором выдает список только съедобных. после выбора названия во 2 в 3 DBLookUpComboBox он выдает список только тех мест где растут эти ягоды а не всех указаных мест в справочнике. вот трудность вся в том что когда создашь несколько записей при их просмотре в DBLookUpComboBox отображается или то что хочется самому DBLookUpComboBox или просто показывает его пустым. хотя все данные в базе хранятся и при запросе выдаются без проблем. возможно даже проблема не столько с DBLookUpComboBox сколько в таблицах на которые они обращаются но я не могу понять поэтому обращаюсь к вам. помогите.
← →
ASoft (2007-05-13 08:11) [10]какой-то AI этот ваш DBLookUpComboBox !
наверное, ягоды тоже курят :-)
← →
Kostafey © (2007-05-13 15:01) [11]> мне помимо грибов на ум приходят только ягоды :)
Да ты и на счет ягод не переживай. На Delphimaster курят все курят. Даже справку и ту курят :))
> так что попробую на ягадах (их не курят кажется) более
> понятно. сперва идет справочник в котором данные съедобные
> или не съедобные
Сначала идет, потом следует, за ним бежит. Добросовестно пытался вникнуть,
но до конца не получается. Давай так:
TableGrib - таблица грибов
id
Name - название
FK:Sedobniy_id - поле связи с таблицей съдобности
TebleSedobniy - таблица съедобности
id
Eda - съедобен/несъедобен
и т.д. и. т.п. понимяу ?
> в одном DBLookUpComboBox выбираешь съедобные он во втором
> выдает список только съедобных
То же самое:
DBLookUpComboBoxEda.DataSource:=
DBLookUpComboBoxEda.DataField:=
DBLookUpComboBoxEda.ListSource:=
DBLookUpComboBoxEda.ListField:=
DBLookUpComboBoxGribName...
и т.д. в том же духе
> при их просмотре в DBLookUpComboBox отображается или то
> что хочется самому DBLookUpComboBox
Такие вещи в разделе Прочее обсуждаются.
В этом разделе нужно более разумно формулировать.
Все, давай постарайся вопрос правильно сформулировать.
← →
Ki (2007-05-15 05:34) [12]Kostafey ©!!
> Такие вещи в разделе Прочее обсуждаются.
> В этом разделе нужно более разумно формулировать.
я пытаюсь разумно но я же на форуме для новичков... пришлось мне учить делфи выбора не было... очень надо....
> Все, давай постарайся вопрос правильно сформулировать.
Стараюсь....
TableMesto - таблица места обитания грибов
id
Name - название
FK:Grib_id - поле связи с таблицей грибов
TableGrib - таблица грибов
id
Name - название
FK:Sedobniy_id - поле связи с таблицей съдобности
TebleSedobniy - таблица съедобности
id
Eda - съедобен/несъедобен
для первого DBLookUpComboBox (в котором выбираем съедобен гриб или нет):
DBLookUpComboBoxEda.DataSource:=DataSource1 (который связан с главной таблицей пусть будет она называтся "Z". тогда в ней будут такие поля:
Sedobniy_id ; Grib_id; Mesto_id; )
DBLookUpComboBoxEda.DataField:=Sedobniy_id
DBLookUpComboBoxEda.ListSource:=DataSource2 (который связан с таблицей еда)
DBLookUpComboBoxEda.ListField:= Eda
DBLookUpComboBoxEda.KeyField:= id
для второго DBLookUpComboBox ( в котором выбираем название гриба, он должен выдавать не весь список а только те записи которые съедобны/или нет (грибы а не записи :))
DBLookUpComboBoxGrib.DataSource:=DataSource1
DBLookUpComboBoxGrib.DataField:=Grib_id
DBLookUpComboBoxGrib.ListSource:=DataSource3 (который связан с таблицей Grib)
DBLookUpComboBoxGrib.ListField:= Name
DBLookUpComboBoxGrib.KeyField:= id
для третьего DBLookUpComboBox ( в котором выбираем место обитание гриба, тут записи еще раз делятся)
DBLookUpComboBoxMesto.DataSource:=DataSource1
DBLookUpComboBoxMesto.DataField:=Mesto_id
DBLookUpComboBoxMesto.ListSource:=DataSource4 (который связан с таблицей Mesto)
DBLookUpComboBoxMesto.ListField:= Name
DBLookUpComboBoxMesto.KeyField:= id
поле того как все это выбирешь и сделаешь при этом несколько записей при помощи навигатора начинаю просматривать все записи и тут DBLookUpComboBox отвечающий за место и за грибы будут либо отставатся пустыми либо будут показывать не те данные которые я выбирала.... хотя при просмотре самих даных с помощью Grid у меня записи все нормальные.
может свойство какое надо.... я уже все вроде перепробовала..
← →
ЮЮ © (2007-05-15 09:03) [13]TableMesto - таблица места обитания грибов
FK:Grib_id - поле связи с таблицей грибов
зачем здесь свяь с таблицей грибов? Гнужели в одной местности не растет более одного вида грибов?
Для этой связи и существует главная таблица Z, которая и связывает места обитания и сами грибы, указывая их съёдобность/несъедобность.
Типа в Подмосковье мухоморы съедобны, а на Дальнем Востоке - нет :)
Поэтому для заполнения данной таблицы не понятно зачем накладывать какие либо ограничения.
← →
Desdechado © (2007-05-15 10:52) [14]По-моему, ты что-то не то делаешь. Если ты задаешь способы фильтрации (отбора) своих грибов, то для выбора признаков нужно использовать не главный набор данных, а дополнительные. А вот в главном на нужные поля уже накладывай фильтр из выбранных значений. Это можно сделать или SQL (тогда нужно переоткрывать запрос, конструируя его налету с условиями WHERE), или в свойстве Filter.
В главном датасете достаточно сделать лукапные поля без боксов.
← →
Anatoly Podgoretsky © (2007-05-15 23:19) [15]> ЮЮ (15.05.2007 09:03:13) [13]
> Типа в Подмосковье мухоморы съедобны, а на Дальнем Востоке - нет :)
Вообще то так и есть, а отсюда нужен признак проживания грибов.
← →
Merry (2007-05-16 06:18) [16]Просто нужно ту таблицу, записи которой открываются в DBLookUpComboBox после открытия этой таблицы отправить на последнюю запись. Т.е.
Table1.Open;
Table1.Last;
тогда при обращении в какой-то момент в DBLookUpComboBox, там появятся все записи этой таблицы.
← →
ЮЮ © (2007-05-16 06:37) [17]DBLookUpComboBoxEda.DataField:=Sedobniy_id
DBLookUpComboBoxEda.ListSource:=DataSource2
DBLookUpComboBoxGrib.DataSource:=DataSource1
DBLookUpComboBoxGrib.DataField:=Grib_id
DBLookUpComboBoxMesto.DataSource:=DataSource1
DBLookUpComboBoxMesto.DataField:=Mesto_id
Т.к. эти поля заполнены, то этими компонентами ты редактируюшь таблицу Z и тут никакие ограничения не нужны, ибо в любой месте может оказаться любой гриб в любой ипостаси. Зачем ограничиваться только имеющимися в Z связями, если при заполнении Z эти связи и строятся?
Если же ты хочешь с помощью этих компонентов отбирать из Z записи, удовлетворяющие условиям в этих ComboBox-ах, то ListSource и DataField должны быть пусты. А условия поиска(фильтра) строить динамически (см.[14])
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.06.03;
Скачать: [xml.tar.bz2];
Память: 0.51 MB
Время: 0.935 c