powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Combo Box
18 сообщений из 18, страница 1 из 1
Combo Box
    #32203521
JQ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JQ
Гость
Привет.
Есть комбо бох.
Источник запрос.
Два столба, один скорыт в нем Id документа, втрой отображает номера документов.
Скажите как выбрать сделать так чтобы по умолчанию выбирался максимальный номер документа и следовательно соответствующий ему ID из имеющихся номеров.
Есть ли способ обойтись без открытия рекордсета и вообще без обращения на сервак?
Спасибо.
...
Рейтинг: 0 / 0
Combo Box
    #32203564
Фотография Шайтан
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вариант.
У комбобокса уже есть свой рекордсет, вот им и воспользуйся, что б не обращаться к серверу
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
MaxValue =  0 
Do While Not ComboBox.Recordset.EOF
  If MaxValue < ComboBox.Recordset( 0 ) Then
    MaxValue = ComboBox.Recordset( 0 )
  End If
 ComboBox.Recordset.MoveNext
Loop
ComboBox = MaxValue
...
Рейтинг: 0 / 0
Combo Box
    #32203610
JQ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JQ
Гость
Спасибо, вариант работает!
После me.combobox.requery
не происходит me.combobox.recordset.movefirst приходиться делать в ручную.
...
Рейтинг: 0 / 0
Combo Box
    #32203618
JQ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JQ
Гость
Блин медленно как то.
Нельзя без перебора?
...
Рейтинг: 0 / 0
Combo Box
    #32203633
Фотография Шайтан
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
можешь поиграться с FindFirst.... но не думаю, что это ускорит...
...
Рейтинг: 0 / 0
Combo Box
    #32203635
Фотография Шайтан
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а ты постоянно прописываешь me.combobox.recordset?
создай переменную типа рекордсет и Set переменная = me.combobox.recordset
...
Рейтинг: 0 / 0
Combo Box
    #32203661
JQ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JQ
Гость
Ну ты меня на мысль навел я еще так попробовал:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
MaxValue =  0 
For i =  0  To Me.Number.ListCount -  1 
If MaxValue < Me.Number.Column( 1 , i) Then
  MaxValue = Me.Number.Column( 1 , i)
  idMaxValue = Me.Number.Column( 0 , i)
End If
Next i
Me.Number = idMaxValue
Me.Requery

Но существенной прибавки в скорости не получил. Ладно пусть юзерь терпит оставлю как есть.
Спасибо еще раз за recordset ComboBox_а я и не знал про такой.!
...
Рейтинг: 0 / 0
Combo Box
    #32203668
Фотография Шайтан
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ещё разок - Set переменная = me.combobox.recordset (что бы всякий раз не выполнять полное обращение me.combobox.recordset )
В доках есть инфа, что это должно ускорить выполнение кода!
...
Рейтинг: 0 / 0
Combo Box
    #32203669
Nick987
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Me.Number = dmax(...)
...
Рейтинг: 0 / 0
Combo Box
    #32203670
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
2 Nick987:

Там было попрошено "без обращения на сервак"...
...
Рейтинг: 0 / 0
Combo Box
    #32203672
Nick987
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Но не любой же ценой?
...
Рейтинг: 0 / 0
Combo Box
    #32203674
VIG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
A если так

Код: plaintext
1.
2.
3.
4.
with ComboBox.Recordset
   .Recordset.Sort= "NumDocument desc" 
   .Recordset.MoveFirst
   MaxValue=.Recordset!Id
end with
...
Рейтинг: 0 / 0
Combo Box
    #32203683
VIG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Конечно же
Код: plaintext
MaxValue=!Id
...
Рейтинг: 0 / 0
Combo Box
    #32203687
Nick987
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я собственно о том говорю, что нужно расставлять приориеты: если скорость не важна, то выбираем самый простой вариант, если скорость критична, то, вероятно, лучше предварительно получать значение, а потом показывать форму, опять же, если сервер SQL (из вопроса это не ясно), то лучше значение получать SQL-запросом или функцией.
...
Рейтинг: 0 / 0
Combo Box
    #32203719
JQ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JQ
Гость
2 Шайтан
это должно ускорить выполнение кода
Не уверен. Через Set мы создадим просто еще одну ссылку на ту же область памяти.

2 VIG
Круто! : Жаль проверить не могу, так на серваке базу только завтра запущу, а сейчас копаюсь в mdb. А в mdb у меня чего-то
Код: plaintext
.Sort =  "Number desc" 
Не работает, видимо на ComboBox_е DAO.Recordset. Хотя даже не знаю, месяц всего на Access2002 и recordset_у формы обращаться не приходилось, тем более к recordset_у поля со списком.

2 Nick987
SQL Server 2000 . Думаешь обратиться на сервак сначала для заполнения combobox_а а затем для получения максимального значения быстрее?
Не буду спорить не знаю.
...
Рейтинг: 0 / 0
Combo Box
    #32203731
Nick987
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Это зависит от количества записей...
Если десяток, то быстрее найти максимум на клиенте, а если десять тысяч, то лучше использовать SQL. Ко всему прочему, размещая логику на сервере, мы менее требовательны к оборудованию клиента.
...
Рейтинг: 0 / 0
Combo Box
    #32203760
Nick987
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
При таком раскладе может быть лучше с сервера получать данные отсортированные в обратном порядке, а на клиенте просто брать первый элемент.
Получаем максимальный номер и не надо к серваку второй раз обращаться
...
Рейтинг: 0 / 0
Combo Box
    #32203768
VIG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 JQ
Bот что написано в хелпе для DAO.Recordset
You can use the Sort property with dynaset- and snapshot-type Recordset objects.
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Combo Box
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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