[AccessD] OT: Passing an Array in VBA]

jwcolby jwcolby at colbyconsulting.com
Mon Dec 20 13:21:31 CST 2010


I use a global framework class pointer.

;)

John W. Colby
www.ColbyConsulting.com

On 12/20/2010 2:05 PM, Drew Wutka wrote:
> LOL... I use Global class objects all the time....
>
> They are our friends! LOL ;)
>
> Drew
>
> -----Original Message-----
> From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Rocky Smolin
> Sent: Monday, December 20, 2010 10:40 AM
> To: 'Access Developers discussion and problem solving'
> Subject: Re: [AccessD] OT: Passing an Array in VBA]
>
> -------- Original Message --------
> Subject: RE: [AccessD] OT: Passing an Array in VBA
> From:<rockysmolin at bchacc.com>
> Date: Sun, December 19, 2010 8:50 pm
> To: "Access Developers discussion and problem solving"
> <accessd at databaseadvisors.com>
>
>
> At the risk of being flamed might I suggest  making the array Global -then
> you don't have to pass it anywhere, it's available to the whole program as
> is.  I know many people live in fear and loathing of globals but really,
> they're quite innocuous.  Globals are our friends.
>
> Rocky
>
>
>
>
> -------- Original Message --------
> Subject: Re: [AccessD] OT: Passing an Array in VBA
> From: Jurgen Welz<jwelz at hotmail.com>
> Date: Sun, December 19, 2010 7:38 pm
> To:<accessd at databaseadvisors.com>
>
>
> In Access VBA I always pass arrays to receiving variant variable without the
> trailing (). I've had problems trying to pass them as arrays of a declared
> type. I also generally rename the recieving variable even if passed By Ref.
>
> Sub PopulateALICO(WerteIn As Variant, i As Integer)
>
> This is exactly how I pass an array for processing, like to a sort
> procedure. In the example below, I've got a form module level declared
> variant, mvArTemplates, that needs to be sorted ascending or descending on
> one of the columns. The sort procedure also receives the number of columns
> to be received:
>
> Caller:
> qSort mvArTemplates, lngColumn, blnAsc, 4
>
> SubRoutine"
> Sub qSort(varAr As Variant, fld As Long, Asc As Boolean, NumberCol As Long,
> Optional lngL As _
> Long = -2, Optional lngR As Long = -2)
>
> Ciao Jürgen Welz Edmonton, Alberta jwelz at hotmail.com
>
>
>
> From: rlister at actuarial-files.com
> To: accessd at databaseadvisors.com
> Date: Sun, 19 Dec 2010 16:46:00 -0400
> Subject: [AccessD] OT: Passing an Array in VBA
>
> Hello,
>
>
>
> Sorry to bother with an Excel 2007 problem.
>
>
>
> I try to pass an three-dimensional-array Werte(I, j. k) to a Procedure,
> manipulate Werte() there. Then the manipulated Werte()-Array is passed again
> to the main program.
>
>
>
> My Code:
>
> The main program
>
> Dim Werte(1 To 9, 1 To 42, 1 To 7) As Single
>
> ..
>
> With Activesheet
>
> Select Case .Range("D"&  ""&  i + 1&  "").Value
>
> Case "ALICO"
>
> PopulateALICO Werte:=Werte, i:=1
>
> Case "ANTIGUA"
>
> PopulateANTIGUA Werte:=Werte, i:=1
>
> ...
>
> End Select
>
>
>
> The called procedure
>
> Sub PopulateALICO(ByRef Werte() As Single, i As Integer)
>
> ..
>
> ****************************************************************************
> ******
>
> When I check in the main program, the array Werte() is still unmanipulated.
>
>
>
> Saludos
>
> Actuary Ralf Lister
>
> La Paz, Bolivia
>
> Registrado en ASFI
>
> No. Registro: Act.Mat. 001
>
> NIT: 1016725022
>
> Skype Name: ralf.martin.lister
>
> Tel.: 222 26 61, Cel. 70136531
>
> rlister at actuarial-files.com
>
> www.actuarial-files.com
>
> Environment
>
>
>
>
> -- AccessD mailing list AccessD at databaseadvisors.com
> http://databaseadvisors.com/mailman/listinfo/accessd Website:
> http://www.databaseadvisors.com



More information about the AccessD mailing list