|
|
|
| Помогите, пож-сто, вернутся из одной формы в дрпугую форму в поле список на нужную запись. Источником списка является запрос из 10 полей. | |
|
| |
|
|
|
|
Помогите, пож-сто, вернутся из одной формы в дрпугую форму в поле список на нужную запись
|
Вас как туда за ручку отвезти?
Что именно вызывает проблемы?
DoCmd.OpenForm Имя формы - открывает фому с указанным именем.
Forms!ИмяФормы.ИмяСписка.Value = чему тот там. - кажется как то так. | |
|
| |
|
|
|
| Спасибо! Особенно за вежливый ответ! Но он проблемы не решает, т.к. список состоит из 10 полей, а Forms!ИмяФормы.ИмяСписка.Value = чему тот там позволяет присвоить значение только одной колонке, тогда как мне надо сразу 4-м, как минимум. | |
|
| |
|
|
|
| Forms!ИмяФормы.ИмяСписка.Column(0).Value
Forms!ИмяФормы.ИмяСписка.Column(1).Value
Forms!ИмяФормы.ИмяСписка.Column(2).Value
Forms!ИмяФормы.ИмяСписка.Column(3).Value
........................................................................... | |
|
| |
|
|
|
| PS А зачем в список выводить 10 полей? Может проще использовать подчиненную форму. По ней и рекордсетом пробежаться проще. Да и варианты оформления различные - табличная, ленточная... | |
|
| |
|
|
|
| Это уже испробовано. Проблема остается. А список из стольких полей для того, чтобы по 10 полям выбрать тот или иной кусок таблицы. Это ключевые реквизиты. А в запросе установлена уникальность (вместо 100 записей таблицы с такими значениями в списке выводится только одна). Выбрав запись из списка открывается новая форма. В ней производятся действия с этими 100 записями. Затем возврат в начальную форму на этот список. Маркер устанавливается не туда. Хочу так откуда ушли туда и пришли. | |
|
| |
|
|
|
| Я перестал понимать, что вы выбираете. Если в списке десять полей, (выглядит он как таблица с 10 колонками) - то при выборе записей в списке в нем "маркером" выделяется строка, содержащая все десять полей. "Отметить маркером" только третий столбец списка нельзя.
Пришлите принтскрин вашего списка, чтоб было понятнее. | |
|
| |
|
|
|
|
Маркер устанавливается не туда
|
Это о чем? | |
|
| |
|
64 Кб. |
|
| У мну складывается впечатление, что речь все таки идет о подчиненной форме. Ща глянем принтскрин - будет ясно
У мну на рисунке список с несколькими полями . В нем нельзя выделить только одно поле. Можно выделить строку целиком. | |
|
| |
|
48 Кб. |
|
| Прошу прощения, за то, что толком не могу объяснить свою проблему. | |
|
| |
|
|
|
| Теперь понял..
Землякам помогать святое.
В вашем списке должен быть первый столбец Column(0) - уникальным. Тогда легко будет передать его значение в глобальную переменную при переходе на другую форму и так же легко вернуть на нужную запись в списке.
В вашем случае первой колонкой списка является MOL. А он не уникален, потому и работает не так как вы хотите. | |
|
| |
|
|
|
| Про уникальность понятно. Но тут составной ключ. Как быть. Вводить новое поле в запрос? Спасибо за помощь. В принципе направление понятно. Хотя не хочу усложнять запрос. | |
|
| |
|
|
|
| me.MyList.ListIndex - запоминает номер записи ( например пятая запись )
Me.MyList.Selected(5) = True - ставит вас на пятую запись
При клике на список присваиваете переменной значение
а=me.MyList.ListIndex
А при возврате в форму пишите
Me.MyList.Selected(a) = True
и фсе | |
|
| |
|
|
|
| Я вот никак не могу понять.
Каким образом список может терять свое значение, если кликом по нему (или по соседней кнопке) открывается другая форма? | |
|
| |
|
|
|
| Теряет потому, что в другой форме работа с этой же таблицей, из которой и сделан список. Например, вводится новая запись в таблицу. Возвращаюсь в список , делаю requery и все. Маркер улетает . Нет уникальности. Но благодаря совету (см.выше) я это разрулю. | |
|
| |
|
|
|
| Класс! Спасибо! Вопрос закрыт! | |
|
| |