John W. Colby
jwcolby at colbyconsulting.com
Sat Sep 4 15:44:51 CDT 2004
This brings us to the question of "where the heck does Access store this stuff". As you know there is a class (MODULE) behind a form where you can add your own code, but there is an additional "something" where the form controls and stuff resides. I have always wondered where that "something" is (but not enough to do the research). ;-) It is almost as if that stuff were made invisible somehow. If you export a class to a text file there is stuff at the top of the file (properties) that are not visible from the IDE editor when viewing the class. John W. Colby www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of MartyConnelly Sent: Saturday, September 04, 2004 3:56 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] JIT Forms? You can't recompile code in an mde But here is some example code to read code in a Form You can also write code to a form Have a look at http://www.helenfeddema.com Design Schemas accarch76.zip and 77 She modifies existing controls at runtime and adds code. Function ListAllProcsinForms(strModuleName As String) 'Purpose: lists all procedures/functions for given module 'Example: ListAllProcsinForms ("MyForm") Dim mdlF As Form Dim mdl As Module Dim lngCount As Long, lngCountDecl As Long, lngI As Long Dim strProcName As String, astrProcNames() As String Dim intI As Integer, strMsg As String Dim lngR As Long ' Open specified Module object. DoCmd.OpenForm strModuleName,acDesign 'open in design view ' Return reference to Form object. Set mdlF = Forms(strModuleName) ' Return reference to Module object. Set mdl = mdlF.Module ' Count lines in module. lngCount = mdl.CountOfLines ' Count lines in Declaration section in module. lngCountDecl = mdl.CountOfDeclarationLines ' Determine name of first procedure. strProcName = mdl.ProcOfLine(lngCountDecl + 1, lngR) ' Initialize counter variable. intI = 0 ' Redimension array. ReDim Preserve astrProcNames(intI) ' Store name of first procedure in array. astrProcNames(intI) = strProcName ' Determine procedure name for each line after declarations. For lngI = lngCountDecl + 1 To lngCount ' Compare procedure name with ProcOfLine property value. If strProcName <> mdl.ProcOfLine(lngI, lngR) Then ' Increment counter. intI = intI + 1 strProcName = mdl.ProcOfLine(lngI, lngR) ReDim Preserve astrProcNames(intI) ' Assign unique procedure names to array. astrProcNames(intI) = strProcName End If Next lngI strMsg = "Procedures in module '" & strModuleName & "': " _ & vbCrLf & vbCrLf Debug.Print "Procedures in module '" & strModuleName & "': " For intI = 0 To UBound(astrProcNames) strMsg = strMsg & astrProcNames(intI) & vbCrLf 'Print list in debug window: Debug.Print astrProcNames(intI) Next intI ' Dialog box listing all procedures in module. MsgBox strMsg End Function Charlotte Foust wrote: >I've only used it at design time, so I can't say. I don't suppose it's >all that different from changing the paper size at run time. > >Charlotte Foust > > >-----Original Message----- >From: John W. Colby [mailto:jwcolby at colbyconsulting.com] >Sent: Friday, September 03, 2004 2:13 PM >To: 'Access Developers discussion and problem solving' >Subject: RE: [AccessD] JIT Forms? > > >Charlotte, > >Do you know if this works at runtime or only at design time? > >John W. Colby >www.ColbyConsulting.com > >-----Original Message----- >From: accessd-bounces at databaseadvisors.com >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Charlotte >Foust >Sent: Friday, September 03, 2004 4:03 PM >To: Access Developers discussion and problem solving >Subject: RE: [AccessD] JIT Forms? > > >Look at the Application.CreateControl method for creating controls from >code. If you want code behind that control, you need to add that to >the form's module and set the control's named event to "[event >procedure]" to connect them. > >Charlotte Foust > > > > > -- Marty Connelly Victoria, B.C. Canada -- _______________________________________________ AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com