Reply
 
Thread Tools Display Modes
  #1   Report Post  
Posted to microsoft.public.word.mailmerge.fields
Kev[_2_] Kev[_2_] is offline
external usenet poster
 
Posts: 1
Default Arbitrary number of rows in a table

Hi all,

I am sure I am not the first person wanting to do this so I hope
someone can help me. I will use a fictional example of what I would
like to do to illustrate the problem, although this sample bears no
resemblance to the real data.


I have a merge file with 3 fields name, address and products.

"products" could either be a delimiter seperated list or a simple
space seperated.

For example, the record could be

"Kevin","My house","computer monitor scanner printer"

or

"Kevin","My house","computer;monitor;scanner;printer"

When I perform the merge, I would like the four products on a seperate
line in the document. I do not want a seperate field for each product
as the number of products is arbitrary.

Is it possible to do this easily in Word.

Or would a more complicated merge file format be required, with some
kind of ID

e.g.

"1","Kevin","My house"
"1","computer"
"1","monitor"
"1","scanner"
"1","printer"
"2","John","His house"
"2","bike"
"2","car"
etc

in other words, each single mail merge spans multiple lines in the
file.

If anyone has any experience of this scenario I would be grateful for
your comments.

Thanks in anticipation

  #2   Report Post  
Posted to microsoft.public.word.mailmerge.fields
Doug Robbins - Word MVP Doug Robbins - Word MVP is offline
external usenet poster
 
Posts: 8,832
Default Arbitrary number of rows in a table

Sounds like you are probably trying to perform a "multiple items per
condition (=key field)" mailmerge which Word does not really have the
ability to do:

See the "Group Multiple items for a single condition" item on fellow MVP
Cindy Meister's website at

http://homepage.swissonline.ch/cindy...faq1.htm#DBPic


Or take a look at the following Knowledge Base Article

http://support.microsoft.com/default...b;en-us;211303

or at:

http://cornell.veplan.net/article.aspx?&a=3815

Or, if you create a Catalog (on in Word XP and later, it's called Directory)
type mailmerge main document with the mergefields in the cells of a one row
table in the mailmerge main document with the keyfield in the first cell in
the row and then execute that merge to a new document and then run the
following macro, it will create separate tables with the records for each
key field in them. With a bit of further development, you may be able to
get it to do what you want.

' Macro to create multiple items per condition in separate tables from a
directory type mailmerge

Dim source As Document, target As Document, scat As Range, tcat As Range
Dim data As Range, stab As Table, ttab As Table
Dim i As Long, j As Long, k As Long, n As Long
Set source = ActiveDocument
Set target = Documents.Add
Set stab = source.Tables(1)
k = stab.Columns.Count
Set ttab = target.Tables.Add(Range:=Selection.Range, numrows:=1,
numcolumns:=k - 1)
Set scat = stab.Cell(1, 1).Range
scat.End = scat.End - 1
ttab.Cell(1, 1).Range = scat
j = ttab.Rows.Count
For i = 1 To stab.Rows.Count
Set tcat = ttab.Cell(j, 1).Range
tcat.End = tcat.End - 1
Set scat = stab.Cell(i, 1).Range
scat.End = scat.End - 1
If scat tcat Then
ttab.Rows.Add
j = ttab.Rows.Count
ttab.Cell(j, 1).Range = scat
ttab.Cell(j, 1).Range.Paragraphs(1).PageBreakBefore = True
ttab.Rows.Add
ttab.Cell(j + 1, 1).Range.Paragraphs(1).PageBreakBefore = False
For n = 2 To k
Set data = stab.Cell(i, n).Range
data.End = data.End - 1
ttab.Cell(ttab.Rows.Count, n - 1).Range = data
Next n
Else
ttab.Rows.Add
For n = 2 To k
Set data = stab.Cell(i, n).Range
data.End = data.End - 1
ttab.Cell(ttab.Rows.Count, n - 1).Range = data
Next n
End If
Next i


--
Hope this helps.

Please reply to the newsgroup unless you wish to avail yourself of my
services on a paid consulting basis.

Doug Robbins - Word MVP

"Kev" wrote in message
ps.com...
Hi all,

I am sure I am not the first person wanting to do this so I hope
someone can help me. I will use a fictional example of what I would
like to do to illustrate the problem, although this sample bears no
resemblance to the real data.


I have a merge file with 3 fields name, address and products.

"products" could either be a delimiter seperated list or a simple
space seperated.

For example, the record could be

"Kevin","My house","computer monitor scanner printer"

or

"Kevin","My house","computer;monitor;scanner;printer"

When I perform the merge, I would like the four products on a seperate
line in the document. I do not want a seperate field for each product
as the number of products is arbitrary.

Is it possible to do this easily in Word.

Or would a more complicated merge file format be required, with some
kind of ID

e.g.

"1","Kevin","My house"
"1","computer"
"1","monitor"
"1","scanner"
"1","printer"
"2","John","His house"
"2","bike"
"2","car"
etc

in other words, each single mail merge spans multiple lines in the
file.

If anyone has any experience of this scenario I would be grateful for
your comments.

Thanks in anticipation



Reply
Thread Tools
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
how can I count the number of rows in an existing table roberto-cruz Tables 2 September 30th 07 10:41 AM
How do I automatically number the rows in a Word 2003 table? Robert Judge Tables 2 February 26th 07 05:23 AM
how to determine the number of rows in a large Word table? bob g in essex ct Microsoft Word Help 5 November 20th 06 12:19 PM
Count number of rows in table PamKT Microsoft Word Help 6 August 30th 06 09:32 AM
Limiting number of table rows per page Aniseed Tables 3 November 7th 05 11:34 AM


All times are GMT +1. The time now is 09:41 AM.

Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 Microsoft Office Word Forum - WordBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Word"