jwcolby
jwcolby at colbyconsulting.com
Tue Jun 26 12:00:50 CDT 2007
I want to iterate through and store the same value in one specific property of all of my forms (the help file property). I wrote this code ages ago but who knows where it went. So I wrote it again and here it is: Function SetFormProperty(strPrpName As String, varValue As Variant) Dim db As DAO.Database Dim doc As DAO.document Dim frm As Form Set db = CurrentDb 'Get a pointer to the database (this will be DAO of course) For Each doc In db.Containers("forms").Documents 'and a pointer to each doc in the forms document collection DoCmd.OpenForm doc.name, acDesign 'Open the form in design view Set frm = Forms(doc.name) 'now get a pointer to the form Debug.Print frm.Properties(strPrpName) 'display the old property value frm.Properties(strPrpName) = varValue 'Set the property to the new value Debug.Print frm.Properties(strPrpName) 'display the newly set value Set frm = Nothing 'Get rid of my pointer holding the form open DoCmd.Close acForm, doc.name, acSaveYes 'Close the form saving changes Next doc 'Go round the block again. End Function You can, if you wish actually feed the TYPE of object in, but then you need to deal with whether you open a report or a form. You can also just write a similar function to open reports etc. John W. Colby Colby Consulting www.ColbyConsulting.com