Выберите Псевдоним не меняется на правильный псевдоним - PullRequest
0 голосов
/ 26 апреля 2018

У меня есть поле со списком в сетке. Форма имеет много таблиц (открытых в init и назначенных псевдонимах). Сетка имеет свойство

LinkMaster=EVENT

RecordSource установлен на HEAT

Для столбца в сетке для элемента controlSource установлено значение Heat.Event_no, а текущим элементом управления является CmbEvent. Источник управления CmbEvent установлен в heat.event_no. В сетке все работает как надо, кроме ...

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

IF event.relay
 SELECT RELAY
 GO TOP IN RELAY
 SET ORDER TO 
GO OrigRelayRec IN RELAY

....

Проблема, с которой я сталкиваюсь, заключается в том, что, пока я не перебираю код, псевдоним () никогда не переходит в RELAY. Независимо от того, с какого псевдонима он запускается (обычно HEAT), если я добавлю точку останова в GO TOP, псевдоним () будет отображаться как EVENT. Единственный способ добраться до РЕЛЕ - это пройтись по коду.

Есть мысли о том, почему Select alias фактически не выбирает alias?

1 Ответ

0 голосов
/ 01 мая 2018

Обычно в подобных случаях я устанавливаю фокус на элемент управления, отличный от сетки. Проблема в том, что, поскольку сетка имеет фокус, она всегда будет держать выбранный псевдоним, связанный с сетками RecordSource.

Так что прямо перед вашим SELECT вы можете сделать что-то вроде «Thisform.cmdOK.SetFocus ()» (это может быть любой элемент управления на вашей форме, кроме сетки). Это должно сработать.

...