Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
Home
DiscussionsAccessExcelInfoPathOutlookPowerPointPublisherWord
DirectoryUser Groups
Related Topics
Outlook ExpressInternet ExplorerWindowsMS Server ProductsMore Topics ...

MS Office Forum / Word / Tables / April 2008

Tip: Looking for answers? Try searching our database.

How to add a table using vb

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
accdev - 26 Apr 2008 18:33 GMT
While in Access 2003 I've been generating data into a word (2003) template.  
Up to now there has been only one table which is entered on the template.

Now my user wants me to break down his data by an AgencyOffice field and
have each office in their own table.  There will be some totals after each
group.  However, I'm not concerned with the totaling in this question.  Nor
am I concerned about how to determine when to create a new table by keeping
track of the AgencyOffice field. What I need to know is how I go about
creating a new table with the attributes of the table that is already there.  
Or maybe there is another way to do this?  By the way, I usually know enough
about Access vb to do what I need to do, but I'm pretty ignorant about Word
vb.

I've only entered two fields below (there are several) but this is
essentially what I'm currently doing in Access.

Dim db As Database
Set db = DBEngine.Workspaces(0).Databases(0)
Dim wordobj As Object
Dim sTemplatename As String
sTemplatename = pubTemplateFolder & "AgencyBill.doc"
Set wrdobj = CreateObject("Word.application")
wrdobj.Documents.Add sTemplatename
Set rs = CurrentDb.OpenRecordset("WDBillData")
rs.MoveLast
rs.MoveFirst
' Write details info into table in Word Document
For inti = 0 To rs.RecordCount - 1
wrdobj.ActiveDocument.Tables(1).Cell(inti + 1, 2).Range =
Trim$(Left(rs.FullName.Value, 24) & "")
wrdobj.ActiveDocument.Tables(1).Cell(inti + 1, 4).Range =
Format(rs.amount.Value, "##0.00") & ""
rs.MoveNext
If rs.EOF Then Exit For
wrdobj.ActiveDocument.Tables(1).Rows.Add
Next
rs.Close
Doug Robbins - Word MVP - 26 Apr 2008 22:04 GMT
To get the tables the same, it might be easier to write all of the data to
the one table and then include code to locate the rows that have the
AgencyOffice field in them and then split the table at that point (or add
the first row of data for the new AgencyOffice and then split the table at
that row, keeping track of the number of tables in the document and
incrementing the table index by one each time it is split.

Signature

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

> While in Access 2003 I've been generating data into a word (2003)
> template.
[quoted text clipped - 39 lines]
> Next
> rs.Close
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.