Добрый день. На форме в ексель есть поле, куда вводится число (ID заказа в БД). По событию Onchange запускается процедура, которая ищет что-то в базе данных, и подставляет результат рядом, в эту же форму. Как сделать так, чтоб запросы шли не мгновенно, а спустя, допустим, полсекунды после окончания ввода? спасибо..
Добрый день. На форме в ексель есть поле, куда вводится число (ID заказа в БД). По событию Onchange запускается процедура, которая ищет что-то в базе данных, и подставляет результат рядом, в эту же форму. Как сделать так, чтоб запросы шли не мгновенно, а спустя, допустим, полсекунды после окончания ввода? спасибо..PATRI0T
пользатель вводит туда ID - 4-5 цифр. и с вводом каждой цифры происходит событие Onchange и соотвественно, делается запрос к базе. Я хочу, чтоб запрос произошел автоматически, без нажатия доп. клавиш, но только после того, как будет введен ID заказа полностью. По колву цифр нельзя определить, получается, просто по времени.. пользователь закончил вводить - всё, можно делать запрос.
полагаю, может можно сделать это через глобальную переменную, туда запиывать время и как-то это все обрабатывать. но что-то пахнет граблями
так и знал, что нужно подробнее описать )
пользатель вводит туда ID - 4-5 цифр. и с вводом каждой цифры происходит событие Onchange и соотвественно, делается запрос к базе. Я хочу, чтоб запрос произошел автоматически, без нажатия доп. клавиш, но только после того, как будет введен ID заказа полностью. По колву цифр нельзя определить, получается, просто по времени.. пользователь закончил вводить - всё, можно делать запрос.
полагаю, может можно сделать это через глобальную переменную, туда запиывать время и как-то это все обрабатывать. но что-то пахнет граблямиPATRI0T
А если есть номера 123 и 1234. Пользователь вводит 123 и у него вылезает информация. А нужно для 1234. А пользователь увидел, что что-то вылезло, обрадовался и не проверил Думаю, что нужно чем-то, например, нажатием Ентер, Таб, пробела или еще чего, обозначать окончание ввода и запускать запрос
А если есть номера 123 и 1234. Пользователь вводит 123 и у него вылезает информация. А нужно для 1234. А пользователь увидел, что что-то вылезло, обрадовался и не проверил Думаю, что нужно чем-то, например, нажатием Ентер, Таб, пробела или еще чего, обозначать окончание ввода и запускать запрос_Boroda_
Обычно такое требуется при формировании списка для выбора или … Можете попробовать так [vba]
Код
Public start As Double Private Sub TextBox1_KeyUpByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) pauseTime = 0.5 start = Timer Do While Timer < start + pauseTime DoEvents Loop If Timer >= start + pauseTime Then Call YourProcedure End If End Sub
[/vba]
Обычно такое требуется при формировании списка для выбора или … Можете попробовать так [vba]
Код
Public start As Double Private Sub TextBox1_KeyUpByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) pauseTime = 0.5 start = Timer Do While Timer < start + pauseTime DoEvents Loop If Timer >= start + pauseTime Then Call YourProcedure End If End Sub