Solved

asp -- passing an array to a sub

Posted on 2011-09-28
9
275 Views
Last Modified: 2012-05-12
I have a subprocedure:

sub send_email(userid,parts)

Open in new window


The parts argument receives an array.  Here is how I am calling the sub:

send_email(user_id,matchingParts)

Open in new window


matchingParts is an array that i am trying to give to the send_email function.

I do a test and use the Ubound() function to check the upper bound of the array before putting it into the subprocedure and it shows that there are indeed items in the array.  When I check the ubound() value of the array parts in the subprocedure, I get 0 as the upper bound.  So suddenly all the elements in my array are removed just by passing the array.

What is going on and how can i pass the array?
0
Comment
Question by:nickgross19
  • 4
  • 4
9 Comments
 
LVL 143

Expert Comment

by:Guy Hengel [angelIII / a3]
ID: 36719453
please try calling without the brackets:
send_email user_id,matchingParts
0
 

Author Comment

by:nickgross19
ID: 36719490
tried it, and once the array is passed, the ubound() function returns 0.
0
 
LVL 143

Expert Comment

by:Guy Hengel [angelIII / a3]
ID: 36719498
can you please show the full code of that function?
0
Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 

Author Comment

by:nickgross19
ID: 36719521
sub send_email(userid,parts)
	dim htmlParts
	dim xyz
	response.Write("passed ubound: "&ubound(parts)&"<br>")

Open in new window


As you can see, right away i get a 0 returned by the ubound() function.  The only thing that happens before this is two dim statemtns
0
 
LVL 143

Expert Comment

by:Guy Hengel [angelIII / a3]
ID: 36719568
sounds ok, can you please show the relevant code that builds the array, and calls send_mail function?
0
 

Author Comment

by:nickgross19
ID: 36719619
This is the code that builds the array:
do while not ngrs2.eof
		if part_ic = "" then
			part_ic = 0
		end if
		ReDim Preserve mathcingParts(part_ic)
		mathcingParts(part_ic) = ngrs2.Fields("ID")
		part_ic = part_ic + 1
		ngrs2.MoveNext
	loop

Open in new window

0
 

Author Comment

by:nickgross19
ID: 36719658
I got it to work somehow, i don't know what i was doing wrong...  

Thanks for your help.
0
 
LVL 143

Accepted Solution

by:
Guy Hengel [angelIII / a3] earned 500 total points
ID: 36813058
I found the issue..

you wrote:
send_email(user_id,matchingParts)

but in the code you build:
mathcingParts

hc vs ch

just a typo
0
 
LVL 28

Expert Comment

by:sybe
ID: 36814007
An array with Ubound = 0 has one element. Arrays start counting at 0. If you have an empty array, it will return -1 on Ubound.
0

Featured Post

Announcing the Most Valuable Experts of 2016

MVEs are more concerned with the satisfaction of those they help than with the considerable points they can earn. They are the types of people you feel privileged to call colleagues. Join us in honoring this amazing group of Experts.

Question has a verified solution.

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

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…
This demonstration started out as a follow up to some recently posted questions on the subject of logging in: http://www.experts-exchange.com/Programming/Languages/Scripting/JavaScript/Q_28634665.html and http://www.experts-exchange.com/Programming/…
This video shows how to use Hyena, from SystemTools Software, to bulk import 100 user accounts from an external text file. View in 1080p for best video quality.
Although Jacob Bernoulli (1654-1705) has been credited as the creator of "Binomial Distribution Table", Gottfried Leibniz (1646-1716) did his dissertation on the subject in 1666; Leibniz you may recall is the co-inventor of "Calculus" and beat Isaac…

830 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question