powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Проблема с DataCombo помогите
7 сообщений из 7, страница 1 из 1
Проблема с DataCombo помогите
    #33084378
Фотография azizjan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дело в том что есть таблица(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
Проблема с DataCombo помогите
    #33084559
Фотография azizjan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что никто этим не пользовалься?
может что непонятно я отвечу , только немолчите
...
Рейтинг: 0 / 0
Проблема с DataCombo помогите
    #33084975
Фотография azizjan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
речь идет о DataCombo элемент Datalist Control
в котором можно отображать элементы поля какой-нибудь таблицы
...
Рейтинг: 0 / 0
Проблема с DataCombo помогите
    #33085243
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Фильтр рекордсета на датакомбо не действует. Создавай копию отфильтрованного рекодсета и прикручивай ее.
...
Рейтинг: 0 / 0
Проблема с DataCombo помогите
    #33085387
Фотография azizjan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если я правильно тебя понял надо создать клон но
цитата из 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
Проблема с DataCombo помогите
    #33085429
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я имел ввиду это:
Код: 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
Проблема с DataCombo помогите
    #33086880
Фотография azizjan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БОЛЬШОЕ СПАСИБО ЗА ПРИМЕР Antonariy
я понял
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Проблема с DataCombo помогите
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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