That explains why we don't see it here, 7, we require very descriptive names for anything greater than local scope. E.g. rather than SQLConn it would be DBNameConn. Right now, local means procedure. We're new enough to VB.Net that nobody's used block-level variables yet. I can see those creating problems as we do allow 'generic' variable names within a procedure.

I subscribe to a similar philosophy, pen. The only difference is I don't adhere to the 'absolutely' necessary part. We do require justification for giving something greater scope than local, but sometimes I feel that the justification is a little weak. ("It's easier that way" isn't, in my opinion, sufficient justification. But there are times when I've been overruled. I may be the lead programmer here, but I'm not the boss.)

Thanks, all. We're going with a ByRef parameter. Possibly not the best decision, but better than going with a global variable in my opinion.