Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
При клике на запись в ЛистБоксе в текстбоксы записываются только значения последней строки, Форма для работы с бд студентов, все работает как надо, но есть ошибка в копировании содержимого из листбокса в текстбокс
 
vl.sl,Разобрался. Я просто не в той процедуре менял диапазон. Спасибо большое, очень сильно протупил
При клике на запись в ЛистБоксе в текстбоксы записываются только значения последней строки, Форма для работы с бд студентов, все работает как надо, но есть ошибка в копировании содержимого из листбокса в текстбокс
 
Цитата
vl.sl написал:
он первую строку из листа и берет
Последнюю строку берет
При клике на запись в ЛистБоксе в текстбоксы записываются только значения последней строки, Форма для работы с бд студентов, все работает как надо, но есть ошибка в копировании содержимого из листбокса в текстбокс
 
vl.sl, не понимаю
При клике на запись в ЛистБоксе в текстбоксы записываются только значения последней строки, Форма для работы с бд студентов, все работает как надо, но есть ошибка в копировании содержимого из листбокса в текстбокс
 
Sanja,  Если я правильно понял, то необходимо было добавить Exit For, добавил. Проблема осталась  
При клике на запись в ЛистБоксе в текстбоксы записываются только значения последней строки, Форма для работы с бд студентов, все работает как надо, но есть ошибка в копировании содержимого из листбокса в текстбокс
 
Есть форма. При вводе символов в какое-либо поле и двойном клике по полю получаем результат после "фильтрации". Тут все работает. Добавление, удаление записей тоже работает стабильно. Но ошибка в том, что если я выберу какую-то запись в листбоксе, то всегда выбирается последняя. Не могу разобраться, где баг. Пожскажите, пожалуйста, буду весьма признателен
Фильтр работает до 10 текстбокса, на последующих вываливает ошибку Subscript out of range., Есть форма, но с багами. Помогите поправить
 
Изначально так и думал сделать, 01 и т.д. Но была ошибка runtime error, а с таким вариантом ошибок небыло
Фильтр работает до 10 текстбокса, на последующих вываливает ошибку Subscript out of range., Есть форма, но с багами. Помогите поправить
 
взял хитростью. Текстбоксы у меня были Tbx1 etc, переименовал их на Tbx11 etc. Беру 2 крайние цифры, отнимаю от них 11 и получаю "порядковый номер". Код прилагаю, может кому будет полезным. Спасибо за помощь)
Код
Private Sub vTbx_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Cancel = True
Dim x, y(), i&, j&, Idx&, tVal$, k&
Idx = Val(Right(vTbx.Name, 2)) - 11
tVal = vTbx.Value

With UserForm1.ListBox1
    x = .List
    ReDim y(UBound(x, 1), UBound(x, 2))
    For i = 0 To UBound(x)
        If InStr(x(i, Idx), tVal) Then
            For j = 0 To UBound(x, 2)
                y(k, j) = x(i, j)
            Next j
            k = k + 1
        End If
    Next i
    .List = y()
End With
End Sub
Изменено: kidly - 20 Мар 2019 21:02:11
Фильтр работает до 10 текстбокса, на последующих вываливает ошибку Subscript out of range., Есть форма, но с багами. Помогите поправить
 
Ошибку понял. А вот как избежать? Хотя бы в каком направлении думать. Присвоить другие имена текстбоксам и сделать второй цикл для сравнения?
Фильтр работает до 10 текстбокса, на последующих вываливает ошибку Subscript out of range., Есть форма, но с багами. Помогите поправить
 
Код
Option Explicit
Public WithEvents vTBx As MSForms.TextBox

Private Sub vTBx_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Cancel = True
Dim x, y(), i&, j&, Idx&, tVal$, k&
Idx = Val(Right(vTBx.Name, 1)) - 1
tVal = vTBx.Value

With UserForm1.ListBox1
    x = .List
    ReDim y(UBound(x, 1), UBound(x, 2))
    For i = 0 To UBound(x)
        If InStr(x(i, Idx), tVal) Then    'Debug указывает на этот цикл
            For j = 0 To UBound(x, 2)
                y(k, j) = x(i, j)
            Next j
            k = k + 1
        End If
    Next i
    .List = y()
End With
End Sub

Файл с формой в архиве. Ума не приложу, как так получается, что фильтр работает, но частично( Благодарю за отклик
Поиск строк по нескольким критериям и запись на новый лист, Доработать форму для поиска по нескольким критериям
 
Цитата
Sanja написал:
Хотя можно  ТАК
Вот! То что нужно!) Огромное спасибо
Поиск строк по нескольким критериям и запись на новый лист, Доработать форму для поиска по нескольким критериям
 
Сейчас идёт поиск по всей строке. Если я введу, предположим, 26- то покажет строчку, в которой в одной из колонок есть "26".  Я предполагаю, что можно добавить еще текстбокс2, при изменении которого поиск будет проводиться не на листе, а среди данных которые остались в листбоксе результате поиска по критерию из текстбокс1. В этом направлении думаю. Поправьте, подскажите как следует сделать правильно.  
Поиск строк по нескольким критериям и запись на новый лист, Доработать форму для поиска по нескольким критериям
 
Есть данный файл, в нём форма с помощью которой можно добавлять записи и находить их по заданному критерию. Дело в том, что поиск происходит по всем колонкам, нужно сделать так, что бы критерий был для каждой колонки. Т.е. критериев столько, сколько колонок. И при заполнении одной из них, или нескольких отсеивались необходимые строки. При этом желательно эти строки записать в новый лист, или распечатать. Прошу помощи
Страницы: 1
Наверх