Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 15.05.2010, 11:56
Андреи4 Андреи4 вне форума
Прохожий
 
Регистрация: 22.04.2010
Сообщения: 5
Репутация: 10
По умолчанию dblookupcombobox не отображает данные

есть форма редактирования таблицы, несколько значений которой заполняются с помощью dblookupcombobox. проблема в том, что в списке выбора отображаются только первое значение списка. как сделать так, чтобы отображался весь список?

Последний раз редактировалось Андреи4, 16.05.2010 в 10:39.
Ответить с цитированием
  #2  
Старый 15.05.2010, 20:43
windaws windaws вне форума
Начинающий
 
Регистрация: 28.08.2009
Сообщения: 116
Репутация: 10
По умолчанию

откуда берется список? если из бд, то не одна ли там запись, и свойства бокса все указаны? datasourse,datafield,keyfield
Ответить с цитированием
  #3  
Старый 15.05.2010, 23:32
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

Цитата:
проблема в том, что в писке выбора
Вы о чем думаете на форуме?
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #4  
Старый 16.05.2010, 07:52
Андреи4 Андреи4 вне форума
Прохожий
 
Регистрация: 22.04.2010
Сообщения: 5
Репутация: 10
По умолчанию

Цитата:
Сообщение от windaws
откуда берется список? если из бд, то не одна ли там запись, и свойства бокса все указаны? datasourse,datafield,keyfield

свойства указаны все, в базе откуда берутся данные записей несколько
Ответить с цитированием
  #5  
Старый 17.05.2010, 12:47
Аватар для TOJluK
TOJluK TOJluK вне форума
Местный
 
Регистрация: 25.02.2009
Адрес: Минск
Сообщения: 551
Версия Delphi: 2007
Репутация: 110
По умолчанию

Вопрос бы поточнее задали что ли. Предполагаю, что вам нужно перейти к последней записи после открытия датасета.
например так:
Код:
Table1.Last;
Ответить с цитированием
  #6  
Старый 17.05.2010, 22:56
windaws windaws вне форума
Начинающий
 
Регистрация: 28.08.2009
Сообщения: 116
Репутация: 10
По умолчанию

Цитата:
Сообщение от Андреи4
свойства указаны все, в базе откуда берутся данные записей несколько
можно поподробнее, структуру таблицы и какие поля в боксе указаны
Ответить с цитированием
  #7  
Старый 19.05.2010, 09:50
Андреи4 Андреи4 вне форума
Прохожий
 
Регистрация: 22.04.2010
Сообщения: 5
Репутация: 10
По умолчанию

Схема БД в приложенном файле.

первый Комбобокс
Datasource School
Datafield Formid
ListSource Form
listField Naimen
KeyField formid

второй комбобокс
Datasource School
Datafield Progid
ListSource programma
listField Naimen
KeyField progid
Изображения
Тип файла: jpg схемаБД.JPG (49.3 Кбайт, 16 просмотров)
Ответить с цитированием
  #8  
Старый 19.05.2010, 11:59
windaws windaws вне форума
Начинающий
 
Регистрация: 28.08.2009
Сообщения: 116
Репутация: 10
По умолчанию

Свойства не правильно расставлены, datafield,datasource - откуда данные будут браться listfield,listsource- куда подставляться, keyfield - связное поле между таблицами, получается что прог ид вставляется в наименование, хотя если ты их используешь не для подстановки попробуй убрать лист сурс и лист филд
Ответить с цитированием
  #9  
Старый 19.05.2010, 12:55
Андреи4 Андреи4 вне форума
Прохожий
 
Регистрация: 22.04.2010
Сообщения: 5
Репутация: 10
По умолчанию

Цитата:
Сообщение от windaws
Свойства не правильно расставлены, datafield,datasource - откуда данные будут браться listfield,listsource- куда подставляться, keyfield - связное поле между таблицами, получается что прог ид вставляется в наименование, хотя если ты их используешь не для подстановки попробуй убрать лист сурс и лист филд

Если свойства заполнить как ты говоришь, то боксы вобще не раскрываются. Мне в итоге нужен такой функционал:
1. Пользователь открывает бызу на редактирование текущей записи (которая существует и поля которой заполнены)
2. щелкает на комбобокс Programma и у него появляются все наименования программ, которые хранятся в одноименной таблице.
3. он выбират нужную, и ее идентификатор заносится в поле progid таблицы school.
4. данные сохраняются.
и также для forma
Ответить с цитированием
  #10  
Старый 19.05.2010, 16:21
windaws windaws вне форума
Начинающий
 
Регистрация: 28.08.2009
Сообщения: 116
Репутация: 10
По умолчанию

Пробуй так:
Datasource-programma
datafield-Naimen
listsource-School
listfield-prog id
keyfield-prog id

Последний раз редактировалось windaws, 19.05.2010 в 18:16.
Ответить с цитированием
  #11  
Старый 22.05.2010, 17:27
Аватар для bleak_fox
bleak_fox bleak_fox вне форума
Прохожий
 
Регистрация: 22.05.2010
Сообщения: 1
Репутация: 10
По умолчанию dblookupcombobox не отображает данные на второй форме

У меня похожая проблема. Две таблицы, в одной данные о встрече с контактом, контакт обозначен номером, во второй таблице полные данные о контакте (фамилия и т.п.), в том числе номер контакта. Таблицы связаны по номеру контакта. Первая таблица отображается на форме в dbgrid. Для редактирования записей первой таблицы создана вторая форма, на которой размещён dblookupcombobox для того, чтобы при редактировании отображались не номера, а фамилии. Для добавления встречи так же хочется заполнять с фамилиями, а не по номерам.
Настройки dblookupcombobox:
Datasource DataModule2.DataSource1 (первая таблица)
Datafield PersCode (код фамилии из первой таблицы)
ListSource DataModule2.DataSource2 (вторая таблица)
listField family (поле с фамилиями)
KeyField Сode (код фамилии из второй таблицы)
В результате в dblookupcombobox отображается только одна фамилия для текущей записи. Изменить фамилию нельзя. При добавлении открывается пустой список.
Если разорвать связь, то есть очистить masterfields, то редактирование начинает работать, но добавление нет.

В чём может быть причина?
Ответить с цитированием
  #12  
Старый 22.05.2010, 17:58
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

dblookupcombobox может работать в 2-режимах.
1.1 Когда данные для списка берутся из запроса/таблицы и все остальное пользователь делает сам.
1.2. Когда данные для списка берутся из запроса/таблицы и выбранное значение вносится в другую таблицу.
2. В обоих случаях для отображения данных в списке лукапа у вас должен быть отдельный запрос/таблица которая не связана никакими мастер/детайл.
Судя по тому, что у вас происходит вы нарушили п.2
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
Ответ


Delphi Sources

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

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 13:39.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter