Stuart McLachlan
stuart at lexacorp.com.pg
Tue Oct 21 17:02:27 CDT 2003
On 21 Oct 2003 at 12:19, Frank Tanner III wrote: > Ok. I have a doozy of a problem this time. My > Marketing department has tasked me with creating a > database/questionnaire for our customers. > > In the data that I am going to be given, each customer > has a specific customer number, however, based upon > how many items that they purchased on their most > recent invoice, they might be in the table multiple > times. If they purchased one item, they're in one > time. Two items, two times. Et al. > > My problem is this. I need to "convert" these > multiple entries into a single entry concatinating all > of the non-matching data. Such as items purchased. > Obviously, their customer info should be the same. > > Any assistance that you can give me would be greatly > appreciated. Thank you. Use a query which consolidates the common data using a GroupBy and a function to create the concatenated data ie Select Distinct CustomerID, CustomerName, ProductList(CustomerID) from SalesData Group By CustomerID, CustomerName and write a function like: Function ProductList(CustomerID) as String Dim rs as Recordset Dim strSQL as String Dim strProducts as String strSQL = "Select Itemname from SalesData " _ & "Where CustomerID = " & CustomerID Set rs = CurrentDB.OpenRecordset(strSQL) With rs While not .EOF strProducts = strProducts and ", " & !Itemname Wend End With Set rs = Nothing sProductList = Mid$(strProducts,3) End Function -- Lexacorp Ltd http://www.lexacorp.com.pg Information Technology Consultancy, Software Development,System Support.