[Last Call] Learn how to a build a cloud-first strategyRegister Now

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 284
  • Last Modified:

asp -- passing an array to a sub

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
nickgross19
Asked:
nickgross19
  • 4
  • 4
1 Solution
 
Guy Hengel [angelIII / a3]Billing EngineerCommented:
please try calling without the brackets:
send_email user_id,matchingParts
0
 
nickgross19Author Commented:
tried it, and once the array is passed, the ubound() function returns 0.
0
 
Guy Hengel [angelIII / a3]Billing EngineerCommented:
can you please show the full code of that function?
0
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
nickgross19Author Commented:
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
 
Guy Hengel [angelIII / a3]Billing EngineerCommented:
sounds ok, can you please show the relevant code that builds the array, and calls send_mail function?
0
 
nickgross19Author Commented:
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
 
nickgross19Author Commented:
I got it to work somehow, i don't know what i was doing wrong...  

Thanks for your help.
0
 
Guy Hengel [angelIII / a3]Billing EngineerCommented:
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
 
sybeCommented:
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

VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

  • 4
  • 4
Tackle projects and never again get stuck behind a technical roadblock.
Join Now