Shamil Salakhetdinov
shamil at users.mns.ru
Tue Mar 7 08:51:54 CST 2006
Penn, yes, why not use user defined types/structures? Public Type myType FirstName As String LastName As String EmailAddress As String End Type Public Function a_Test() Dim avar(0 To 99) As myType Dim i As Integer For i = 0 To 99 With avar(i) .FirstName = "FN" & i .LastName = "LN" & i .EmailAddress = "EA" & i & "@gmail.com" End With Next i End Function Custom classes could be an overkill here but if you will have several public methods (like First and Last name concatenation) then custom class os looking as the best candidate: ' class module myClass Public FirstName As String Public LastName As String Public EmailAddress As String Public Property Get FullName() As String FullName = FirstName & " " & LastName End Property ' test Public Function a_test1() Dim avar(0 To 99) As myClass Dim i As Integer For i = 0 To 99 Set avar(i) = New myClass With avar(i) .FirstName = "FN" & i .LastName = "LN" & i .EmailAddress = "EA" & i & "@gmail.com" End With Next i End Function Classes can be also/should be better(?) used with collections - then additionally you cah have mnemonic access to collection memebers by symbolic key like fullname assuming it's unique (or you can define a surrogate key unique value property): Public Function a_test2() Dim avar As myClass Dim col As New Collection Dim i As Integer For i = 0 To 99 Set avar = New myClass With avar .FirstName = "FN" & i .LastName = "LN" & i .EmailAddress = "EA" & i & "@gmail.com" col.Add avar, .FullName End With Next i End Function Shamil ----- Original Message ----- From: "Penn White" <ecritt1 at alltel.net> To: "Access Developers discussion and problem solving" <accessd at databaseadvisors.com> Sent: Tuesday, March 07, 2006 1:29 PM Subject: [AccessD] Using Multidimensional Arrays > ACC03 - I'm sending out emails from Access to a list of recipients > selected > from a listbox. Since I don't have Exchange Server, I can't be sure that > the entries in the 'workstations' Outlook Contact list is up-to-date. > Consequently, I have to verity first that the Contact is in that > workstation's Outlook Contact list and second that the email address > hasn't > changed. It's a bit messy and may be time consuming since every single > email will have to check all the recipients before being sent but there > would rarely be more than 10 recipients for an email and more usually only > 2-3 and I can't think of any other way to do it. > > I was thinking of creating a multi-dimensional array to hold the > FirstName, > LastName and Email address for each selected recipient but I can't figure > out how to do it. The number of entries in the array will vary depending > on > how many recipients are selected. There may not necessarily be a first > name > and the 'last name' may actually be a string of several words, like > "Belton > Manufacturing" for example. > > Once the array is created, I'll need to concatenate the first and last > names > and check them against the existing entries in Outlook Contacts, updating > or > adding as necessary. If I can get the entries out of the array, that > won't > be hard, I've already done if before and have developed functions for the > various pieces. > > I've also seen some comparisons between using structures and arrays and > maybe I should be using a structure here. > > I'm a bit befuddled. > > Penn > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com