Задача простая как дверь на листе Excel нужно заполнить поле из справочника
Если юзать компоненты самого Excel - VBA загрузка справочника н-тысячь позиций в экселе отхавывает кучу памяти и крайне геморройная
Чтобы не мучатся берем грид с поддержкой OLEDB и засовываем туда табличку
При клацанье на выбранном элементе переносим значение в ячейку и закрываем форму с гридом
Вот с закрыванием и облом
Если делать "hide" работает а "unload Ме" все приложение вылетает в корку
Private Sub VSFlexGrid1_KeyUp(KeyCode As Integer, ByVal Shift As Integer)
If KeyCode = vbKeyReturn Then
Unload Me
End If
End Sub
пытаюсь по клику закрыть форму и получаю вылетание в корку всего приложения без матюхов
Причем на форме не отрабатывает свойство Deactivate
Пытаюсь на клик повесить переход на другой элемент (кнопочку закрыть)
Private Sub VSFlexGrid1_KeyUp(KeyCode As Integer, ByVal Shift As Integer)
If KeyCode = vbKeyReturn Then
cbExit.SetFocus
End If
End Sub
переходит както коряво жму энтер получаю "runtime error 2110 can't move focus "
Если клацать по кнопочкам мышкой или обходить табом все работает нормально
Получается пока юзается грид чето с формой программно сделать не могу ????
Вероятно после обработки события он пытается вернуться в код компонента
Может кто знает как это обойти
PS
Office 2003 SP3 теже грабли на SP2 и OfficeXP
Ответить
|