[AccessD] For all forms
jack drawbridge
jackandpat.d at gmail.com
Wed Aug 4 12:13:05 CDT 2021
Hi Arthur,
Here's a working function based on comments from Gustav and Ryan.
I am limiting the output to those forms that have a combo and/or listbox.
Procedure Name: ComboAndListboxOnForms
' Purpose: For forms in database where exists a combobox and/or listbox,
' print formname, controlname and rowsource
' Procedure Kind: Sub
' Procedure Access: Public
' Author: Jack
' Date: 04-Aug-21
' ----------------------------------------------------------------
Sub ComboAndListboxOnForms()
10 On Error GoTo ComboAndListboxOnForms_Error
Dim obj As AccessObject, dbs As Object
Dim ctrl As Control
20 Set dbs = Application.CurrentProject
30 For Each obj In dbs.AllForms
40 DoCmd.OpenForm obj.name, acDesign, , , , acHidden
50 For Each ctrl In Forms(obj.name).Controls
60 Select Case ctrl.ControlType
Case acComboBox, acListBox
70 Debug.Print obj.name & "....." & ctrl.name & "
" & ctrl.RowSource
80 End Select
90 Next ctrl
100 DoCmd.Close acForm, obj.name
110 Next obj
120 On Error GoTo 0
ComboAndListboxOnForms_Exit:
130 Exit Sub
ComboAndListboxOnForms_Error:
140 MsgBox "Error " & Err.Number & " (" & Err.Description & ") in
procedure ComboAndListboxOnForms, line " & Erl & "."
150 GoTo ComboAndListboxOnForms_Exit
End Sub
A few examples of output:
frmMumbles10.....Combo4 "<";">";"=";"<>"
frmProduct.....Combo2 (All);"green";"blue";"black"
frmTina.....Combo0 SELECT [tblTinaDates].[PUDate] FROM tblTinaDates
ORDER BY [PUDate];
frmTina.....Combo2 SELECT [tblHouseholds].[Owner] FROM tblHouseholds
ORDER BY [Owner];
Hope it's helpful.
jack
On Wed, Aug 4, 2021 at 11:06 AM Arthur Fuller <fuller.artful at gmail.com>
wrote:
> How do I get the type of control? As it happens, combos and list boxes are
> my main interest.
>
> On Wed., Aug. 4, 2021, 8:33 a.m. Gustav Brock via AccessD, <
> accessd at databaseadvisors.com> wrote:
>
> > Hi Arthur
> >
> > That’s because only objects of type ListBox and ComboBox, not the generic
> > Control, have this property.
> >
> > /gustav
> >
> > Fra: Arthur Fuller <fuller.artful at gmail.com>
> > Sendt: 4. august 2021 14:29
> > Til: Access Developers discussion and problem solving <
> > accessd at databaseadvisors.com>
> > Cc: Gustav Brock <gustav at cactus.dk>
> > Emne: Re: [AccessD] For all forms
> >
> > Hmm. The compiler and Intellisense don't like the reference to
> RowSource.
> > I can't see anything similar in Intellisense.
> >
> > On Wed., Aug. 4, 2021, 7:39 a.m. Arthur Fuller, <fuller.artful at gmail.com
> > <mailto:fuller.artful at gmail.com>> wrote:
> > You Are the man! I forgot one part. I. am only interested in combo and
> > list boxes. How do I specify the control type?
> >
> > On Wed., Aug. 4, 2021, 6:15 a.m. Gustav Brock via AccessD, <
> > accessd at databaseadvisors.com<mailto:accessd at databaseadvisors.com>>
> wrote:
> > Hi Arthur
> >
> > It could be something like this:
> >
> > <code>
> > Public Function ListControlSources()
> >
> > Dim Form As Form
> > Dim Control As Control
> >
> > On Error Resume Next
> >
> > For Each Form In Forms
> > For Each Control In Form.Controls
> > Debug.Print Form.Name, Control.Name, Control.RowSource
> > Next
> > Next
> >
> > End Function
> > </code>
> >
> > /gustav
> >
> > -----Oprindelig meddelelse-----
> > Fra: AccessD <accessd-bounces+gustav=cactus.dk at databaseadvisors.com
> > <mailto:cactus.dk at databaseadvisors.com>> På vegne af Arthur Fuller
> > Sendt: 4. august 2021 11:50
> > Til: Access Developers discussion and problem solving <
> > accessd at databaseadvisors.com<mailto:accessd at databaseadvisors.com>>
> > Emne: [AccessD] For all forms
> >
> > I used to have code to do this but can't find it. Here is the algorithm.
> >
> > For all forms
> > For all controls in f
> > ? Ctl.RowSource
> > Next
> > Next
> >
> > Do you have such a chunk? Or at least remind me of the syntax?
> > Thanks
> > --
> > AccessD mailing list
> > AccessD at databaseadvisors.com
> > https://databaseadvisors.com/mailman/listinfo/accessd
> > Website: http://www.databaseadvisors.com
> >
> --
> 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