powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Ограничения в ListBox'e, как обойти?
5 сообщений из 5, страница 1 из 1
Ограничения в ListBox'e, как обойти?
    #32134458
sorgery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня есть элемент на форме ListBox. В качестве типа источника строк стоит "Список значений". Элементы в источник строк добавляют пользователи из другого списка. Когда элементов добавляется не слишком много все "ОК", но как только их становится очень много, аксес выдает месседж типа "Слишком большое значение для данного свойства". Как с этим можно разобратся/обойти?
...
Рейтинг: 0 / 0
Ограничения в ListBox'e, как обойти?
    #32134462
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В такой постановке задачи - никак.
Используй в качестве источника функцию, которая значения будет брать из какой-нибудь колекции. А в колекцию добавляй при действиях в другом списке.
...
Рейтинг: 0 / 0
Ограничения в ListBox'e, как обойти?
    #32134488
Фотография Ден
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот работоспособная функция

Function ListMDBs(fld As Control, id, row, col, Code)

Static C As New Collection
Static RN As New Collection
Dim key As String
Dim ReturnVal As Variant
Dim Rs As ADODB.Recordset
Dim i As Integer, j As Integer
On Error GoTo LErr:
ReturnVal = True
key = fld.Parent.name & fld.name

Select Case Code
Case acLBInitialize
Set Rs = dbs.Execute(fld.RowSource)
Rs.MoveFirst
C.Add Rs, key
RN.Add 0, key
Case acLBOpen

Case acLBGetRowCount
Set Rs = C(key)
ReturnVal = Rs.RecordCount
Case acLBGetColumnCount
Set Rs = C(key)
ReturnVal = Rs.Fields.Count
Case acLBGetColumnWidth
ReturnVal = -1
Case acLBGetValue
Set Rs = C(key)
If RN(key) <> row Then
Rs.Move row - RN(key)
RN.Remove key
RN.Add row, key
End If
ReturnVal = Rs.Fields(col).value
Case acLBEnd
C.Remove (key)
RN.Remove (key)
End Select
ListMDBs = ReturnVal
LErr:
If Err.Number <> 0 Then
Exit Function
End If
End Function
...
Рейтинг: 0 / 0
Ограничения в ListBox'e, как обойти?
    #32134496
Фотография Ден
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Забыл, тут в этой функции dbs - активное соединетние, ставишь в Listbox, где тип источника данных ListMDBs и источник данных, текст запроса и все заработает (под access 2000 под 97 посложнее)
...
Рейтинг: 0 / 0
Ограничения в ListBox'e, как обойти?
    #32134644
sorgery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пасибки, попробую это заюзать
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Ограничения в ListBox'e, как обойти?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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