[AccessD] I used to be young and stupid

Stuart McLachlan stuart at lexacorp.com.pg
Sun Jan 16 18:39:42 CST 2022


I never use ADO :)
Are you saying that control.requery doesn't work with ADO? 
Why not?
If so, that's yet anothr reason to avoid it :)


On 17 Jan 2022 at 12:30, Paul Wolstenholme wrote:

> Stuart,
> 
> Your function
> Function RequeryComboboxes(frm As Form) As Long
> 
> might be fine if each combo has a DAO recordsource
> but it would not work on a form where combo boxes are connected to an
> ADO recordset. In that case I think you would need code that is
> specific to the form in question - and the best place for that code is
> in that form.
> 
> More than once I've changed a form from DAO to ADO to improve its
> speed. It would be a hard process if code in other forms became
> incompatible.
> 
> Paul
> 
> On Mon, 17 Jan 2022 at 11:51, Stuart McLachlan
> <stuart at lexacorp.com.pg> wrote:
> 
> > Not more efficient, but probably cleaner and generic.
> > A public funrction in a module.
> >
> > Function RequeryComboboxes(frm As Form) As Long
> >     Dim ctl As Control
> >     For Each ctl In frm.Controls
> >         If ctl.ControlType = acComboBox Then
> >             ctl.Requery
> >         End If
> >     Next
> > End Function
> >
> > Call from inside the form:
> > RequeryComboBoxes Me
> > or from elsewhere
> > RequeryComboxes Froms("frmSomeformName")
> >
> >
> >
> >
> > On 17 Jan 2022 at 10:24, Paul Wolstenholme wrote:
> >
> > > My personal preference would be to write a public function in the
> > > form that requeries each of the combo boxes using
> > > Me.CompanyID_cmbx.Requery ...
> > >
> > > I can call the function from another form if I need to, but I find
> > > it best to keep those calls to higher level concepts (refresh form
> > > data) rather than calling for each individual control to be
> > > updated.
> > >
> > > In this way I can change details within the form without too much
> > > concern for how other forms relate to it.  As long as the public
> > > function still works, the interaction between the forms will
> > > probably be unaffected by my changes.
> > >
> > > Paul
> > >
> > >
> > > On Sun, 16 Jan 2022 at 15:12, Rocky Smolin
> > > <rockysmolin2 at gmail.com> wrote:
> > >
> > > > Additionally, "a good program is one that works". No one ever
> > > > reads your code.
> > > >
> > > > r
> > > >
> > > > On Sat, Jan 15, 2022 at 2:47 PM Arthur Fuller
> > > > <fuller.artful at gmail.com> wrote:
> > > >
> > > > > One thing has changed: now I'm old.
> > > > >
> > > > > I'm working on an app that I began 17 years ago and have
> > > > > revised several times as legal requirements, functional
> > > > > requirements and UI fashions have evolved. while wandering
> > > > > through the ancient code, I came across this. <snippet> If
> > > > > FormIsOpen("AssessID_Data_LC_Frm") Then
> > > > >     Forms!AssessID_Data_LC_frm!CompanyID_cmbx.Requery
> > > > >     Forms!AssessID_Data_LC_frm!ProjectID_cmbx.Requery
> > > > >     Forms!AssessID_Data_LC_frm!CompanyID.Requery
> > > > >     Forms!AssessID_Data_LC_frm!ProjectID.Requery
> > > > >     Forms!AssessID_Data_LC_frm!LocationID.Requery
> > > > > End If
> > > > > </snippet>
> > > > >
> > > > > I wonder whether there is a more efficient way to do this,
> > > > > such as
> > > > setting
> > > > > a reference to the form, and for that matter just re-querying
> > > > > the form instead of its controls individually.
> > > > >
> > > > > --
> > > > > Arthur
> > > > > --
> >
> -- 
> AccessD mailing list
> AccessD at databaseadvisors.com
> https://databaseadvisors.com/mailman/listinfo/accessd
> Website: http://www.databaseadvisors.com
> 




More information about the AccessD mailing list