A.D.TEJPAL
adtp at airtelbroadband.in
Wed Jun 21 14:03:08 CDT 2006
Martin,
Sample query given below should get you the desired label strings for each distinct four digit identifier prefix. It makes use of function Fn_GetLabel() given below.
DataString is the name of field holding comma separated raw data in table T_Data.
Best wishes,
A.D.Tejpal
---------------
Select Query
=====================================
SELECT Left([DataString],4) AS PreFix, Fn_GetLabel(Left([DataString],4)) AS LabelString FROM T_Data
GROUP BY Left([DataString],4);
=====================================
User Defined Function
=====================================
Function Fn_GetLabel(ByVal IdString As String) As String
On Error Resume Next
Dim rst As DAO.Recordset
Dim Txt As String, Qst As String, Rtv As Variant
Txt = "" ' Default
Qst = "SELECT * FROM T_Data " & _
"Where Left(DataString, 4) = '" & _
IdString & "';"
Set rst = CurrentDb.OpenRecordset(Qst)
Do While Not rst.EOF
Rtv = Split(rst.Fields("DataString"), ",")
Txt = Txt & IIf(Len(Txt) > 0, ",", "") & Rtv(1)
rst.MoveNext
Loop
Txt = IdString & "," & Txt & "," & Rtv(2)
Fn_GetLabel = Txt
rst.Close
Set rst = Nothing
On Error GoTo 0
End Function
=====================================
----- Original Message -----
From: Martin Reid
To: Access Developers discussion and problem solving
Sent: Wednesday, June 21, 2006 19:40
Subject: [AccessD] Mailing Labels
Given the following data
1234,Name,Address
1234,Name,Address
1234,Name,Address
1234,Name,Address
2345, Name Address
2345,Name Address
I need to get one mailing label produced
1234, Name1, Name2,Name3,Name4
Address
2345,Name1,Name2
Address
Etc
So I can have multiple people at the same address. I need the name line to include all the names but only produce 1 label per address.
Martin
Martin WP Reid
Training and Assessment Unit
Riddle Hall
Belfast
tel: 02890 974477