Hi Prolay...
Event works, but you don't really need one... You can also use an outside screen button with the F10 shortcut...
For the control type, the first thing is to get the control name (in the event, there is one event variable returning the name, in the button, that would be the PreviousField function)
One you have that, the ..Type property should return what you need, when combined with inderection... That would be something like (not tested)
sControlName is string=PreviousField()
switch {sControlName,indControl}..Type
case typDate
...
Best regards