Listmembers: Now that we can access all e-mail adresses from an AB entry, I've created a couple of QT's to help me with this.
In my situation I collect all e-mail addresses (past and present) that someone uses/has used. The primary e-mail address is listed as the top address; other current addresses are listed on subsequent lines. Addresses no longer in use are listed after a line containing just a '-'. I use the following two QT's: ,----- [ EMAILS ] | %IF:~%TO~=~~::~%- | %IF:#%_EA_No#=##%- | :#%- | %_EA_No(0)%- | %_EA_Text("")%- | %QINCLUDE(EMAILS)#%- | :#%- | %IF:~~%ABTOEMAIL(%_EA_No)~~=~~-~~%- | :~~%SETPATTREGEXP("^, (.*)")%REGEXPBLINDMATCH(%_EA_Text)%SUBPATT(1)~~%- | :~~%- | %IF:'%ABTOEMAIL(%_EA_No)'=''%- | :'%SETPATTREGEXP("^, (.*)")%REGEXPBLINDMATCH(%_EA_Text)%SUBPATT(1)'%- | :'%_EA_Text("%_EA_Text, %ABTOEMAIL(%_EA_No)")%- | %_EA_No(%CALC("%_EA_No+1"))%- | %QINCLUDE(EMAILS)%- | '#~ `----- and: ,----- [ EMAILSOLD ] | %IF:~%TO~=~~::~%- | %IF:#%_EA_No#=##%- | :#%- | %_EA_No(0)%- | %_EA_Text("")%- | %_EA_Dash("")%- | %QINCLUDE(EMAILSOLD)#%- | :#%- | %IF:~~%ABTOEMAIL(%_EA_No)~~=~~-~~%- | :~~%- | %_EA_Dash(%_EA_No)%- | %_EA_No(%CALC("%_EA_No+1"))%- | %QINCLUDE(EMAILSOLD)~~%- | :~~%- | %IF:'%ABTOEMAIL(%_EA_No)'=''%- | :'%SETPATTREGEXP("^, (.*)")%REGEXPBLINDMATCH(%_EA_Text)%SUBPATT(1)'%- | :'%- | %IF:+%_EA_Dash+<>++%- | :+%_EA_Text("%_EA_Text, %ABTOEMAIL(%_EA_No)")+%- | :++%- | %_EA_No(%CALC("%_EA_No+1"))%- | %QINCLUDE(EMAILSOLD)%- | '~~#~ `----- This results in a comma-separated list of either current or old email addresses. You can optionally use the PRINTRECIPIENT macro's to make a vertical list from these. -- Greetings, Maurice Windows XP 5.1 Build 2600 Service Pack 2 The Bat! v4.0.24; ; AJS v0.0; MyMacros 1.11a; ________________________________________________________ http://www.silverstones.com/thebat/TBUDLInfo.html