Форум программистов, компьютерный форум, киберфорум
Наши страницы
Visual FoxPro
Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 23, средняя оценка - 4.83
Alissia_Astorot
0 / 0 / 0
Регистрация: 13.06.2012
Сообщений: 9
#1

RowSource в ComboBox - FoxPro

20.06.2012, 17:49. Просмотров 3247. Ответов 3
Метки нет (Все метки)

Ребят, подскажите, как быть... Есть две таблицы:
1. Блок - таблица наименования блоков. (Состоит из наименования блоков и их индексов)
2. Секция - как бы подблоки. (Состоит из индексов секций, индексов блоков и наименования секций)

На форме при добавлении записей нужно выбрать блок и секцию. В RowSource комбо должны быть списки. В первом подтякиваю через RowSourceType=6 и поле таблицы с индексами (так удобно вполне). Как сделать так, чтобы после выбора значения в Combo1 подтягивались только те индексы секций в Combo2, у которых индексы блоков равны Combo1.DisplayValue. Вот... Как-то так.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.06.2012, 17:49
Я подобрал для вас темы с готовыми решениями и ответами на вопрос RowSource в ComboBox (FoxPro):

ComboBox и Grid
Добрый день. Имеется таблица Grid и ComboBox. Таблица одна (в таблице имеется...

Работа с Combobox
Есть 2 таблицы! Одна из них это просто справочник! Хочу заполнить 2ую таблицу...

Заполнение combobox
Подскажите, есть таблица vuzkart с полем PF(там профили вузов перечислены) Мне...

RowSource для combobox
Программа ругается именно на второй rowsource, с первым все происходит как надо...

RowSource в надстройке Excel тупит (ListBox.RowSource = 'Sheet!A1:B100')
Ничего не понимаю! Пишу надстройку для Excel-я, при вызове одной из форм...

Combobox: сослаться на другой лист через .RowSource
Не могу сослаться на другой лист через .RowSource error 438 - метод не...

3
sks1904
184 / 178 / 28
Регистрация: 26.05.2011
Сообщений: 849
20.06.2012, 17:56 #2
Мало, что понял, но попробуйте рассмотреть работу метода InteractiveChange элемента Combo, изменения, необходимые при изменении, пропишите в этот метод
0
Redglow
106 / 106 / 1
Регистрация: 06.05.2011
Сообщений: 277
21.06.2012, 08:21 #3
Если бы Вы приводили структуру таблиц и значимые куски кода - все было бы намного понятнее. Если я правильно понял, то после выбора значения в первом комбобоксе, из источника данных второго комбобокса нужно убрать все, не относящееся к выбранной секции. Как всегда, есть несколько вариантов решения.
Проще всего будет в Combo1.InterActiveChange() наложить фильтр на таблицу-источник Combo2. Надеюсь, знаете как это делается? Что-то навроде
Код
SELECT Sections
SET FILTER TO Sections.Index = Bloсks.Index
GO TOP IN Sections
У SET FILTER есть определенные недостатки, поэтому я его стараюсь не использовать вообще или использую крайне редко. Можно делать выборку в курсор, только не забывать сбрасывать источник данных контролов, навроде
Код
LOCAL lcControlSource, lcRowSource
WITH ThisForm.Combo2
   lcControlSource = .ControlSource   && запомнили источник
   lcRowSource = .RowSource           && не помню, сбрасывается ли RowSource, поэтому на всякий случай запомним
   .ControlSource = .null.                 && сбросили источник

   SELECT * FROM Sections WHERE Index = Bloсks.Index INTO CURSOR cSections

   .ControlSource = lcControlSource  && восстановили источник данных
   .RowSource = lcRowSource
ENDWITH
Написано на коленке, поэтому допиливайте под себя. Кроме того, Вы не указали структуру таблиц и даже по какому полю они связаны. Вместо курсора можно выбирать в массив, тогда нужно будет изменить значение RowSourceType. Думаю, одного из этих вариантов будет более, чем достаточно.
1
Alissia_Astorot
0 / 0 / 0
Регистрация: 13.06.2012
Сообщений: 9
21.06.2012, 22:38  [ТС] #4
ААААА!!! Спасибо огромное!!! Работает) Вы спасли всю женскую половину группы как раз перед сдачей дипломного проекта)))
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.06.2012, 22:38
Привет! Вот еще темы с решениями:

Как в combobox сослаться по rowsource на диапазон в неактивном листе?
Два вопроса: 1) Совсем простой - как в combobox сослаться по rowsource на...

Как в параметрах RowSource для ComboBox указать не только диапазон ячеек но и лист на котором эти ячейки расположены?
Скажите пожалуйста, как в параметрах RowSource для ComboBox указать не только...

Переопределение RowSource в отчете
Доброго времени суток всем! Бьюсь над отчётом, что-то не выходит по моему. у...

Как в ListBox увеличить значение RowSource
Имеются две формы одна которая отображает Listbox и кнопку, а вторая форма...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru