2016-11-13 5 views
-2

У меня есть сводка кодов клиентов, которая ссылается на таблицу - ClientT.Доступ к произвольному значению VBA из combobox

Когда я нажимаю кнопку randomcmd, я бы хотел, чтобы в выпадающем списке появился случайный код клиента.

Моей мыслью было использовать код VBA для нахождения максимального количества клиентов в ClientT, а затем функцию Rnd для выбора числа между max и 0, а затем преобразовать это число в значение из списка.

Я просто не могу найти подходящий код для использования. все, что у меня есть, - это число, которое генерируется случайным образом.

Private Sub Randomcmd_Click() 
    ClientCodecmb = Int(999 * Rnd) + 1 
End Sub 

Просьба помочь.

ответ

0

Если идентификатор клиента является первым столбцом выпадающего списка, и это связанный столбец, это будет делать:

Private Sub Randomcmd_Click() 

    Dim MaxCustomerId = 1000 ' Adjust as needed. 

    Me!ClientCodecmb.Value = Int((MaxCustomerID + 1) * Rnd 

End Sub 
0
ClientCodecmb = DLookup("[ClientCode]", "ClientT", "Int((DMax('[Autonumber]', 'ClientT')) * Rnd) + 1 = [Autonumber]") 

Я добавил поле Autonumber на столе и приведенный выше код работает. просматривает клиентский код, где максимальный автономный номер является случайным и = для автономера на таблице.

+0

Ну, вроде. Когда вы закрываете и возобновляете приложение, combobox будет выбирать одну и ту же последовательность клиентов. – Gustav

Смежные вопросы