Rocky Smolin at Beach Access Software
rockysmolin at bchacc.com
Thu Oct 23 17:35:18 CDT 2008
Got it. Table building it is. And I suppose I only have to build it once
and store it in the front end.
Thanks again.
Rocky Smolin
Beach Access Software
858-259-4334
www.e-z-mrp.com
www.bchacc.com
-----Original Message-----
From: accessd-bounces at databaseadvisors.com
[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Stuart McLachlan
Sent: Thursday, October 23, 2008 1:40 PM
To: Access Developers discussion and problem solving
Subject: Re: [AccessD] z score to percentile calculator
The problem is that it has to open and close an Excel application every time
it is called.
OK if you are calling it for a single record, but embed it in a query based
on your 5-6000 row table and it would take a looooong time :-)
--
Stuart
On 23 Oct 2008 at 6:53, Rocky Smolin at Beach Access wrote:
> Stuart:
>
> You think the function would be that slow? I don't know how many calls
> there would be to it for any inquiry. But the number of patients in
> the db will probably never be over 5-6000.
>
> Still I'll probably go with the table.
>
>
> Rocky Smolin
> Beach Access Software
> 858-259-4334
> www.e-z-mrp.com
> www.bchacc.com
>
>
>
> -----Original Message-----
> From: accessd-bounces at databaseadvisors.com
> [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Stuart
> McLachlan
> Sent: Thursday, October 23, 2008 4:23 AM
> To: Access Developers discussion and problem solving
> Subject: Re: [AccessD] z score to percentile calculator
>
> Thinking about this a bit more, I'd probably use the function below
> once to build a look up table.
>
> On second thoughts, I probably build a lookup table for speed:
>
> Function CreateTable()
> Dim strsql As String
> Dim i As Currency 'use Currency to avoid rounding errors in ZScores
> Dim xlapp As New Excel.Application strsql = "Create table
> tblZScoreToPercentile (ZScore Double primary key,Percentile double)"
> CurrentDb.Execute strsql
> For i = -5 To 5 Step 0.01
> CurrentDb.Execute "Insert into tblZScoreToPercentile
> (ZScore,Percentile) values(" & i & ","
> & xlapp.NormSDist(i) & ")"
> Next
> xlapp.Quit
> Set xlapp = Nothing
> End Function
>
> --
> Stuart
>
>
> On 23 Oct 2008 at 16:57, Stuart McLachlan wrote:
>
> > Oops, try this:
> >
> > Simplest way is to set a reference to Excel and then use the
> > NormSDist()
> > function:
> >
> > Function NormSDist(ZScore As Double) As Double Dim xlapp As New
> > Excel.Application NormSDist = xlapp.NormSDist(ZScore) xlapp.Quit
> > Set xlapp = Nothing End Function
> > --
> > Stuart
> >
> > --
> > AccessD mailing list
> > AccessD at databaseadvisors.com
> > http://databaseadvisors.com/mailman/listinfo/accessd
> > Website: http://www.databaseadvisors.com
>
>
> --
> AccessD mailing list
> AccessD at databaseadvisors.com
> http://databaseadvisors.com/mailman/listinfo/accessd
> Website: http://www.databaseadvisors.com
>
> --
> AccessD mailing list
> AccessD at databaseadvisors.com
> http://databaseadvisors.com/mailman/listinfo/accessd
> Website: http://www.databaseadvisors.com
--
AccessD mailing list
AccessD at databaseadvisors.com
http://databaseadvisors.com/mailman/listinfo/accessd
Website: http://www.databaseadvisors.com