[Last Call] Learn about multicloud storage options and how to improve your company's cloud strategy. Register Now

x
Solved

# Another VBScript/ASP problem

Posted on 2004-08-03
Medium Priority
278 Views
Hi, I can't figure this out for the life of me, and I was wondering of anyone can help. I've got 2 functions; 1 to get a list of all orders for a certain part number, and the second to add the sum of the quantities of all orders on a certain day. Here is the code:

function GetShipmentsIn()
dim shipIn
redim shipIn(-1,1)
hubRS.Open "SELECT dueDate, qty FROM ShipmentsIn WHERE partid="&partid&" AND BookedIn='NO'", hubcon
do while not hubRS.EOF
size = ubound(shipIn)
if size = -1 then
redim shipIn(size+1, 1)
else
redim preserve shipIn(size+1, 1)
end if
shipIn(ubound(shipIn), 0) = hubRS(0)
shipIn(ubound(shipIn), 1) = hubRS(1)
'Response.Write(shipIn(ubound(shipIn), 0))
hubRS.MoveNext
loop
set hubRS = nothing
GetShipmentsIn = shipIn
end function

function GetTodaysShipmentsIn(theDate)
theDate = ReverseDate(theDate)
count = 0
for i=0 to ubound(shipments_in)
if shipments_in(ubound(shipments_in), 0) = theDate then
count = count + shipments_in(ubound(shipments_in), 1)
end if
next
GetTodaysShipmentsIn = count
end function

Now, this works fine (i think) when the methods are ran just the once i.e., 'arr = GetShipmentsIn()' followed by 'tot = GetTodaysShipmentsIn(now)', but what I ideally want is to put the call to the second function in a for loop, which will calculate the sum of all the orders for each day of the week. When I put this call in a for loop, the browser times out. I could understand it if it was working with masses of data, but there are only 2 records in the database so it can't be pure worload that's timing-out the brower, can it?
Any suggestions welcome,
Cheers!
Darren.
0
Question by:led_zephrylin
[X]
###### Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

• Help others & share knowledge
• Earn cash & points
• 3
• 3
• 2

LVL 3

Expert Comment

ID: 11705885
I noticed that you didn't close HubRS...whenever I forget to close my recordset, it ALWAYS takes forever to execute....

set hubRS = nothing

Type this in

hubRS.Close

Cheers,

D
0

LVL 58

Expert Comment

ID: 11705905
Your first function could just become this

function GetShipmentsIn()
hubRS.Open "SELECT dueDate, qty FROM ShipmentsIn ....
GetShipmentsIn=hubRS.GetRows
hubRS.Close
set hubRS = nothing
end function

Then your shipin array contains all the data, much faster and cleaner.
0

LVL 15

Expert Comment

ID: 11705910
Shouldn't you be passing the array to GetTodaysShipmentsIn()?
0

LVL 3

Expert Comment

ID: 11705912
Also, if I might make a recommendation...instead of rediming to get the size of the array, just use the hubRS.RecordCount to get the size of the recordset, then declare your array based on that size....just an idea to speed up that code...
0

LVL 58

Expert Comment

ID: 11705920
... that should be...
GetShipmentsIn array contains all the records
0

LVL 58

Assisted Solution

Gary earned 200 total points
ID: 11706408
Also rather than running thru the recordset you could just do
select sum(fieldname) from tablename ...
0

LVL 15

Expert Comment

ID: 11706747
@dwaldner
I was thinking that too but RecordCount isn't available some (forward only) cursors.
0

LVL 3

Accepted Solution

dwaldner earned 200 total points
ID: 11706770
Then do this:

hubRS.Open "SELECT dueDate, qty FROM ShipmentsIn WHERE partid="&partid&" AND BookedIn='NO'", hubcon, 3, 3

That will change your pointer to the appropriate type to accomplish this...
0

## Featured Post

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

I have helped a lot of people on EE with their coding sources and have enjoyed near about every minute of it. Sometimes it can get a little tedious but it is always a challenge and the one thing that I always say is:   The Exchange of informatio…
I was asked about the differences between classic ASP and ASP.NET, so let me put them down here, for reference: Let's make the introductions... Classic ASP was launched by Microsoft in 1998 and dynamically generate web pages upon user interact…
In response to a need for security and privacy, and to continue fostering an environment members can turn to for support, solutions, and education, Experts Exchange has created anonymous question capabilities. This new feature is available to our Pr…
We’ve all felt that sense of false security before—locking down external access to a database or component and feeling like we’ve done all we need to do to secure company data. But that feeling is fleeting. Attacks these days can happen in many w…
###### Suggested Courses
Course of the Month12 days, 19 hours left to enroll