I'm not sure why you specifically need an array. When using a database system you would normally use recordsets.
Anyway, to create a string listing all the funds a partner is a member of you would need to use a public function. e.g.
Code:
Public Function ListPartnerFunds(PartnerID As Long) As String
Dim S As String
Dim R As ADODB.Recordset
Set R = New ADODB.Recordset
R.Open "SELECT FundID FROM tblPartnerFund WHERE PartnerID=" & PartnerID, CodeProject.Connection, adOpenStatic, adLockReadOnly
While Not R.EOF
If S <> "" Then S = S & ", " 'Separate funds with commas
S = S & R("Fund").Value
R.MoveNext
Wend
R.Close
Set R = Nothing
If S <> "" Then S = "(" & S & ")" 'Enclose result in brackets to look like an array ;)
ListPartnerFunds = S
End Function
I assume you have a table for partners, one for funds and another to link the partners to the funds (in my example called 'tblPartnerFund').
You can then use the public function within a query, or from code.
Query example: SELECT PartnerID, ListPartnerFunds([PartnerID]) FROM tblPartner
Code example: S = ListPartnerFunds(1)
Because of the way we formatted the output of the function, you could also it as part of an IN clause e.g. "SELECT ... WHERE FundID IN " & ListPartnerFunds(PartnerID)
Change the SQL statement within the function to select the fund name with an INNER JOIN to tblFund if you want to return the names instead of the IDs.
e.g. R.Open "SELECT FundName FROM tblPartnerFund INNER JOIN tblFund ON tblPartnerFund.FundID = tblFund.FundID WHERE PartnerID=" & PartnerID, CodeProject.Connection, adOpenStatic,