Страница 1 из 1

синхронизация 2-ух списков

Добавлено: 23 сен 2009, 15:08
kuznetsovSergey
Добрый день, нужна ваша помощь в ACCESS

столкнулся с проблемой. Есть поле со списком, которое подтягивает данные из большой таблицы. И выводит сразу 2 поля значений.
к примеру:

Человек [Имя | Фамилия] - тип первого поля со списком

и

Год рождения [год] - тип второго поля со списком


имя и фамилия находятся одной таблице, там же есть год рождения, но его выводить в поле "Человек" не надо.

В поле год рождения, это отдельная таблица, откуда подсасывает данные поле со списком "год рождения"


СУТЬ ВОПРОСА:
Как сделать так. что бы при выборе года, то был выбор имен только людей этого года. Тоесть список сокращался. Заранее спасибо !

Re: синхронизация 2-ух списков

Добавлено: 23 сен 2009, 19:31
Teslenko_EA
Здравствуйте kuznetsovSergey.
для получения реальной помощи выложите архив с наработкой - файлом БД.
Объяснения "на пальцах" не эффективны. :(
Евгений.

Re: синхронизация 2-ух списков

Добавлено: 24 сен 2009, 11:20
kuznetsovSergey
в этом то и дело ... в базе данные подтягиваются из удаленного SQL server-а, поэтому работать у вас это не будет ...

проводил тесты, столкнулся с такой проблемой.

одно поле со списком работает безупречно, потому что оно тянется из обычной таблички в этой же базе данных.
Второе поле со списком из SQL сервера тоже тянет всё отлично. Заходя в запрос, для подкачки данных из SQL server добавляю отбор по условию, года рождения. То список сразу становится пустым. НО !!! если ввести в поле со списком год, и не выделять другое поле со списком, а просто в ручную запустить запрос, то он работает, и выполняет всё правильно.

Грубо говоря, если заполнить год, и запустить запрос в ручную, то он работает. Если ввести год, и выделить второе поле со списком, то он почему то обнуляет данные.

Подскажите пожалуйста, что может быть ?








Приведите пожалуйста пример, как можно сделать синхронизацию списков.
Что бы при выборе года в одном списке. в другой списке уже были имена и фамилии только этого года. Заранее спасибо!

Re: синхронизация 2-ух списков

Добавлено: 24 сен 2009, 20:39
Teslenko_EA
Здравствуйте kuznetsovSergey.
1. "Как сделать так. что бы при выборе года..." - обновление записей.
Возможно незавершенная конструкция, т.е. в условии отбора источника строк (запроса) поля со списком задано изменяющееся условие, а после после изменения этого условия (в Вашем случае - обновление поля со списком 2) набор записей не обновляется. При обращении непосредственно к запросу "запустить запрос в ручную..." он обращается к текущим данным условия отбора и обновляется. Добавьте на событие После обновления поля со списком 2 подобный код:

Код: Выделить всё

Private Sub ПолеСоСписком2_AfterUpdate()
    ПолеСоСписком1.Requery
End Sub
и проблема уйдет.
2. "из удаленного SQL server-а..."
данные с SQL сервера "одним кликом" перекладываются в БД MS Access
и если существует подключение к БД, а оно у Вас есть, "работать у вас это не будет..." - не оправдание. :(
Евгений.

Re: синхронизация 2-ух списков

Добавлено: 25 сен 2009, 10:47
kuznetsovSergey
ну собственно вот сам пример, при выборе первого списка, запрос обрабатывается. Но не подтягивается вторым списком , вот пример базы. Жду помощи ! =)

Скачать файл TEST.rar

Re: синхронизация 2-ух списков

Добавлено: 25 сен 2009, 12:18
Teslenko_EA
Здравствуйте kuznetsovSergey.
не выкладывайте образцы на сторонних серверах, их можно выложить непосредствыенно на странице упаковав в ZIP архив.
Евгений.

Re: синхронизация 2-ух списков

Добавлено: 25 сен 2009, 12:51
kuznetsovSergey
АААА МЕГА КРУТО !!! СПАСИБО ОООООООООГРОМНОЕ !!!!
--------------------------------------------------------------------------------
Добавлено сообщение
--------------------------------------------------------------------------------
попробовал сделать третий список на той же основе, не получается. Не пойму систему, как это осуществить. И что бы каждое содержимое из трех списков зависило от выбранного в двух других.

ЗАРАНЕЕ СПАСИБО !

Re: синхронизация 2-ух списков

Добавлено: 30 сен 2009, 14:42
kuznetsovSergey
помогите пожалуйста ))) как сделать такую же фишку, только с 3 и более полей со списком ? оО

Re: синхронизация 2-ух списков

Добавлено: 01 окт 2009, 10:10
Teslenko_EA
Здравствуйте Сергей. (надеюсь правильно понял по нику kuznetsovSergey)
"такую же фишку" при использовании "... и более" контролов использовать не стоит.
Сложную SQL конструкцию источников данных учитывающую логику отображения информации, по нескольким условиям других контролов (полей со списком), в MS Access лучше собирать в VBA коде, считывая только текстовые значения контролов.
Не помещая имена имена контролов в SQL конструкцию источника строк (...[Forms]![Форма1]![ПолеСоСписком0]...) упрощаем задачу для JET ядра, на которое ложится задача выполнения этих "конвертаций".
Евгений.

Re: синхронизация 2-ух списков

Добавлено: 06 ноя 2009, 12:15
kuznetsovSergey
Ваш пример идеален, то что нужно. Но я просто не понимаю принцип как это работает , и меня это жутко расстраивает.
Спасибо за помощь