Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Проблема с DataCombo помогите / 7 сообщений из 7, страница 1 из 1
26.05.2005, 08:23:47
    #33084378
azizjan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с DataCombo помогите
Дело в том что есть таблица(adors) студентов со своими признаками (курс, группа, ID). CmbCourse отфильтровывает по курсу , а CmbGroup по группе или оба одновременно.
при этом результат фильтров(имена определенных стдентов, определенных групп иопределеного курса) должен отражатся в cmbUser(DataCombo).НО этого не происходит cmbUser показывает имена всех студентов.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
Private Sub CmbCourse_Click()
    strCrs = "(course=" & Str(CmbCourse.ListIndex +  1 ) & ")"
    useFilter
End Sub
Private Sub CmbGroup_Click(Area As Integer)

    If Not (CmbGroup.SelectedItem) Then
        strGrp = "(group=" & Str(CmbGroup.SelectedItem) & ")"
        useFilter
   End If

End Sub
Sub useFilter()
    Dim StrS As String
    If Trim(strCrs) <> "" Then
        If Trim(strGrp) <> "" Then
            StrS = strGrp & " and " & strCrs
        Else
            StrS = strCrs
        End If

    Else
        StrS = strGrp
    End If

    adoRs.Filter = StrS
 
    Set cmbUser.DataSource = adoRs
    Set cmbUser.RowSource = adoRs
    cmbUser.BoundColumn = "id"
    cmbUser.ListField = "FIO"
            
    cmbUser.ReFill
    cmbUser.Refresh
End Sub 
далее вложенный файл с скриншот этой формы
...
Рейтинг: 0 / 0
26.05.2005, 10:22:00
    #33084559
azizjan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с DataCombo помогите
Что никто этим не пользовалься?
может что непонятно я отвечу , только немолчите
...
Рейтинг: 0 / 0
26.05.2005, 12:40:32
    #33084975
azizjan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с DataCombo помогите
речь идет о DataCombo элемент Datalist Control
в котором можно отображать элементы поля какой-нибудь таблицы
...
Рейтинг: 0 / 0
26.05.2005, 14:03:22
    #33085243
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с DataCombo помогите
Фильтр рекордсета на датакомбо не действует. Создавай копию отфильтрованного рекодсета и прикручивай ее.
...
Рейтинг: 0 / 0
26.05.2005, 15:22:07
    #33085387
azizjan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с DataCombo помогите
Если я правильно тебя понял надо создать клон но
цитата из MSDN
Код: plaintext
The Filter property of the original Recordset, if any, will not be applied to the clone. Set the Filter property of the new Recordset in order to filter the results. The simplest way to copy any existing Filter value is to assign it directly, like this: rsNew.Filter = rsOriginal.Filter

клон рекордсета и сам рекордсет идентичны, и получается таже самая история(я пробовал)
...
Рейтинг: 0 / 0
26.05.2005, 15:35:05
    #33085429
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с DataCombo помогите
Я имел ввиду это:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
Public Function CreateRSCopy(rsSource As ADODB.Recordset) As ADODB.Recordset
Dim rsCopy As ADODB.Recordset
Dim f As ADODB.Field
Dim i As Long
    Set rsCopy = New ADODB.Recordset
    For Each f In rsSource.Fields
        rsCopy.Fields.Append f.Name, f.Type, f.DefinedSize, f.Attributes And adFldIsNullable
        If f.Type = adNumeric Then
            rsCopy.Fields(f.Name).Precision = f.Precision
            rsCopy.Fields(f.Name).NumericScale = f.NumericScale
        End If
    Next f
    rsCopy.Open
    If rsSource.RecordCount >  0  Then
        rsSource.MoveFirst
        While Not rsSource.EOF
            rsCopy.AddNew
            For i =  0  To rsSource.Fields.Count -  1 
                rsCopy.Fields(i).Value = rsSource.Fields(i).Value
            Next i
            rsSource.MoveNext
        Wend
        rsSource.MoveFirst
        rsCopy.MoveFirst
    End If
    Set CreateRSCopy = rsCopy
    Set rsCopy = Nothing
End Function

...
Рейтинг: 0 / 0
27.05.2005, 10:52:33
    #33086880
azizjan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с DataCombo помогите
БОЛЬШОЕ СПАСИБО ЗА ПРИМЕР Antonariy
я понял
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Проблема с DataCombo помогите / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]