I display data in controls on many forms and reports from public functions. I can bind the control to the function by setting the ControlSource to =MyFunction(parameter) or I can move data to unbound controls from the function on the form's OnCurrent event as Me.Control = MyFunction(parameter)
What is the preferred way? It seems the latter is faster.
The forms are for display and editing and the controls getting the data from functions are for display only. The question is which is the best way to fill the controls, binding the control to the function or filling unbound controls from form events.
In Access I usualy prefer bound controls. It makes project code more cleaner. I worry about speed only with complex queries and reports. if a form displays its data in 1 second, it is quick enough for me.
Best method in that situation is to call the function in the query itself. Next preferred is using vba to populate the unbound control. Normally bound controls are the way to go, but if a function is altering the value of a recordset, I like to see it at a glance in the code editor.