Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Работа с данными

Страница: 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
Задай еще одно условие:
If Me![ПолеСоСписком22].Value="Все" Then ...
   'далее выбираешь данные через SELECT
End If


Если я конечно тебя правильно понял...

Ответить

Номер ответа: 2
Автор ответа:
 Natasha



Вопросов: 1
Ответов: 2
 Профиль | | #2 Добавлено: 16.08.06 12:40
Не получается, “все” – это значение поля списка в таблице, которое нигде не выбирается, в итоге в подчиненной форме пусто, связь идет по значениям поля 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
        If Me![ПолеСоСписком22].Value = "Все"
Then …………………………………????
    End Sub

Ответить

Номер ответа: 3
Автор ответа:
 Hunter2003



ICQ: 287314254 

Вопросов: 14
Ответов: 72
 Профиль | | #3 Добавлено: 16.08.06 15:50
Если у тебя есть, к примеру, таблица "отделы" с полями код_отдела, наименование_отдела и таблица "сотрудники" с полями код_отдела, фамилия, имя, отчество тогда выборку можно построить следующим образом:
Для начала заполняешь ComboBox программно.

Do While adoRS.EOF = False
    Combo1.AddItem adoRS.Fields("наименование_отдела";)
    adoRS.MoveNext
Loop
Combo1.AddItem "все"


Затем перед выборкой данных в подчиненной форме находишь соответствующую запись в таблице "отделы"

adoRS.Find "наименование_отдела='" & Combo1.Text & "'", , adSearchForward


Таким образом код отдела будет равен 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
Спасибо

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам