[AccessD] Select case is too cumbersome

William Hindman dejpolsys at hotmail.com
Thu Jun 16 15:15:29 CDT 2005


..I'm missing something here (not the first time) ...but why are you using 
a select here rather than building a combo on the fly and using that 
instead? ...rename all the applicable queries from qryxxx to zqryxxx and 
fill your combo with a qry on zqryxxx ...much faster than a select and you 
don't have to recode it everytime you add a new qry.

William

----- Original Message ----- 
From: "Hale, Jim" <Jim.Hale at fleetpride.com>
To: "'Access Developers discussion and problem solving'" 
<accessd at databaseadvisors.com>
Sent: Thursday, June 16, 2005 3:29 PM
Subject: RE: [AccessD] Select case is too cumbersome


>I think what you suggest is doable. I have created a class that handles
> opening and saving the Excel spreadsheet. I think  much of the remaining
> code deals with opening recordsets and pasting data. I think I'll create a
> table to hold all the query names and work sheet names and execute the 
> paste
> function as a method from within my class. This will still leave a fairly
> bodacious, if somewhat slimmed down, select statement. The trick as you
> suggest is to identify the truly repeating elements and build functions.
> Anyone used used the EVAL function like the Article I mentioned suggests?
>
> Jim Hale
>
> -----Original Message-----
> From: Josh McFarlane [mailto:darsant at gmail.com]
> Sent: Thursday, June 16, 2005 1:18 PM
> To: Access Developers discussion and problem solving
> Subject: Re: [AccessD] Select case is too cumbersome
>
>
> On 6/16/05, Hale, Jim <Jim.Hale at fleetpride.com> wrote:
>> I have a form which lists different Excel workbooks I can populate. When 
>> I
>> make a selection from the form I read the path to the appropriate excel
>> template  and the select case number from a table. I pass these to a
>> function  "Public Function Load_Financials(intCaseno As Integer,
> strpathname
>> As String)" for processing. The function opens the appropriate Excel
>> template and, based upon the select case number, populates the template
> from
>> various recordsets and formats the workbook as appropriate. All of this
>> works fine. My problem is that I am up to case 40 in my select statement.
>> Many of the cases are quite lengthy so Load_Financials is getting out of
>> hand. 5 cases was no big deal, 40 and 500 lines of code is a bit much.
>> Surely there is a more elegant way to arrange this. For example, I read
> "Two
>> functions you don't use enough" in this month's Smart Access which
> suggested
>> each case can be placed in its own function and the EVAL function can be
>> used to execute them. How do ya'll handle this issue?
>>
>> Jim Hale
>>
> If you're just speaking from an Access perspective, I'd haev one
> function with just the SELECT / CASE statement, then for each case,
> call a seperate function for the differences.
>
> If some of your cases have the same code for chunks, you could group
> them in one function and call the function in the Case statement.
>
> For example, creating an excel file, formating a header, formatting
> the data, then saving, you could seperate it into 4 functions: Create
> file (before the case), Format Header and Format Data within the case,
> then Save File / Write Data at the end.
>
> This way you would have a set of stable functions and can save
> yourself from redundant work / large files.
>
> -- 
> Josh McFarlane
> "Peace cannot be kept by force. It can only be achieved by understanding."
> -Albert Einstein
> -- 
> AccessD mailing list
> AccessD at databaseadvisors.com
> http://databaseadvisors.com/mailman/listinfo/accessd
> Website: http://www.databaseadvisors.com
>
> ***********************************************************************
> The information transmitted is intended solely for the individual or
> entity to which it is addressed and may contain confidential and/or
> privileged material. Any review, retransmission, dissemination or
> other use of or taking action in reliance upon this information by
> persons or entities other than the intended recipient is prohibited.
> If you have received this email in error please contact the sender and
> delete the material from any computer. As a recipient of this email,
> you are responsible for screening its contents and the contents of any
> attachments for the presence of viruses. No liability is accepted for
> any damages caused by any virus transmitted by this email.


--------------------------------------------------------------------------------


> -- 
> AccessD mailing list
> AccessD at databaseadvisors.com
> http://databaseadvisors.com/mailman/listinfo/accessd
> Website: http://www.databaseadvisors.com
> 



More information about the AccessD mailing list