Страница: 1 |
Страница: 1 |
Вопрос: Отобразить все записи в подч. форме Access
Добавлено: 15.08.06 13:13
Автор вопроса: Natasha
На форме есть поле со списком, выбираю в нем отдел [DepId] и в подчиненной форме отображаются данные по этому отделу. Вопрос: Как, используя значения поля "все", в подчиненной показать все записи таблицы.
Private Sub ПолеСоСписком22_AfterUpdate()
' Поиск записи, соответствующей этому элементу управления.
Dim rs As Object
Set rs = Me.Recordset.Clone
If Me![ПолеСоСписком22].Value <> "Все" Then rs.FindFirst "[DepID] = " & Str(Me![ПолеСоСписком22])
Me.Bookmark = rs.Bookmark
End Sub
Ответы
Всего ответов: 4
Номер ответа: 1
Автор ответа:
Hunter2003
ICQ: 287314254
Вопросов: 14
Ответов: 72
Профиль | | #1
Добавлено: 15.08.06 16:57
Задай еще одно условие:
'далее выбираешь данные через SELECT
End If
Если я конечно тебя правильно понял...
Номер ответа: 2
Автор ответа:
Natasha
Вопросов: 1
Ответов: 2
Профиль | | #2
Добавлено: 16.08.06 12:40
Не получается, “все” – это значение поля списка в таблице, которое нигде не выбирается, в итоге в подчиненной форме пусто, связь идет по значениям поля DepId. Работает так, при выборе отдела ГИТ в поле со списком в подч. форме – все записи по отделу ГИТ. Хотелось бы увидеть при «Все» - Записи по всем отделам
Private Sub ПолеСоСписком22_AfterUpdate()
' Поиск записи, соответствующей этому элементу управления.
 im rs As Object
Set rs = Me.Recordset.Clone
If Me![ПолеСоСписком22].Value <> "Все" Then rs.FindFirst "[DepID] = " & Str(Me![ПолеСоСписком22])
Me.Bookmark = rs.Bookmark
If Me![ПолеСоСписком22].Value = "Все"
Then …………………………………????
End Sub
Номер ответа: 3
Автор ответа:
Hunter2003
ICQ: 287314254
Вопросов: 14
Ответов: 72
Профиль | | #3
Добавлено: 16.08.06 15:50
Если у тебя есть, к примеру, таблица "отделы" с полями код_отдела, наименование_отдела и таблица "сотрудники" с полями код_отдела, фамилия, имя, отчество тогда выборку можно построить следующим образом:
Для начала заполняешь ComboBox программно.
Combo1.AddItem adoRS.Fields("наименование_отдела"
adoRS.MoveNext
Loop
Combo1.AddItem "все"
Затем перед выборкой данных в подчиненной форме находишь соответствующую запись в таблице "отделы"
Таким образом код отдела будет равен adoRS.Fields("код_отдела". Потом формируешь запрос для подчиненной формы:
If Combo1.Text <> "все" Then
sql="SELECT фамилия, имя, отчество FROM сотрудники WHERE код_отдела=" & adoRS.Fields("код_отдела"
End If
' для всех отделов
If Combo1.Text = "все" Then
sql=SELECT фамилия, имя, отчество FROM сотрудники"
Вот и всё.
Номер ответа: 4
Автор ответа:
Natasha
Вопросов: 1
Ответов: 2
Профиль | | #4
Добавлено: 17.08.06 12:02
Спасибо