View Single Post
  #1   Report Post  
Posted to microsoft.public.word.vba.beginners,microsoft.public.word.vba.userforms,microsoft.public.word.tables
trezraven trezraven is offline
external usenet poster
 
Posts: 6
Default Repeating a table on a page

Hello everyone. I am using Microsoft Office 2007 and I have created a
form that pulls information from an Access database and puts it in a
table. I want to have 3 tables per page that are populated with
information from the database. My dilemma is I can populate one
table, but for some reason the table will not repeat for the next
recordset.

I get runtime error '4605': this method or property is not availavel
because the object refers to the end of a table row. The following
line of code is what is highlighted.

ActiveDocument.Tables.Add Range:=Selection.Range, NumRows:=8,
NumColumns:=2, _
DefaultTableBehavior:=wdWord9TableBehavior,
AutoFitBehavior:=wdAutoFitFixed

Here is a copy of my code.

rs.MoveFirst
If Not rs.EOF Then
Do Until rs.EOF
Opinion.txtAppellant = rs.Fields("Appellant").Value & " "
Opinion.txtAppellee = rs.Fields("Appellee").Value & " "
Opinion.txtCaseNumber = rs.Fields("CaseNo").Value & " "
Opinion.txtOpinionDate = rs.Fields("Opinion_Date").Value & " "

'*****Hide the form so the document can come up*****
Opinion.Hide

'****Insert table*****
ActiveDocument.Tables.Add Range:=Selection.Range, NumRows:=8,
NumColumns:=2, _
DefaultTableBehavior:=wdWord9TableBehavior,
AutoFitBehavior:=wdAutoFitFixed

With Selection.Tables(1)
If .Style "Table Grid" Then
.Style = "Table Grid"
End If

.ApplyStyleHeadingRows = True
.ApplyStyleLastRow = True
.ApplyStyleFirstColumn = True
.ApplyStyleLastColumn = True
End With

Selection.Tables(1).Rows.HeightRule = wdRowHeightAtLeast
Selection.Tables(1).Rows.Height = InchesToPoints(0.3)
Selection.Tables(1).Range.Font.AllCaps = True
Selection.Tables(1).Range.Font.Size = 14
Selection.Tables(1).Range.Font.Name = "Times New Roman"
Selection.Range.Cells(1).VerticalAlignment = wdCellAlignVerticalTop

With Selection.Tables(1)
.Borders(wdBorderLeft).LineStyle = wdLineStyleNone
.Borders(wdBorderRight).LineStyle = wdLineStyleNone
.Borders(wdBorderVertical).LineStyle = wdLineStyleNone
.Borders(wdBorderTop).LineStyle = wdLineStyleNone
.Borders(wdBorderBottom).LineStyle = wdLineStyleNone
.Borders(wdBorderDiagonalDown).LineStyle = wdLineStyleNone
.Borders(wdBorderDiagonalUp).LineStyle = wdLineStyleNone
.Borders(wdBorderHorizontal).LineStyle = wdLineStyleSingle
.Borders.Shadow = False
End With
'*****Add the formatting for the document*****
With Selection
.ParagraphFormat.LineSpacingRule = wdLineSpaceSingle
.ParagraphFormat.Alignment = wdAlignParagraphLeft
.SelectRow
.Cells.Merge
.TypeText Text:="case of " & txtAppellant.Value
.MoveDown Unit:=wdLine, Count:=1
.SelectRow
.Cells.Merge
.TypeText Text:="vs. " & txtAppellee.Value
.MoveDown Unit:=wdLine, Count:=1
.TypeText Text:="docket no. " & txtCaseNumber.Value
.MoveRight Unit:=wdCell
.TypeText Text:="Opinion Filed " & txtOpinionDate.Value
.MoveDown Unit:=wdLine, Count:=1
.SelectRow
.Cells.Merge
.TypeText Text:="rehearing petition filed"
.MoveDown Unit:=wdLine, Count:=1
.SelectRow
.Cells.Merge
.TypeText Text:="rehearing denied"
.MoveDown Unit:=wdLine, Count:=1
.SelectRow
.Cells.Merge
.TypeText Text:="rehearing granted"
.MoveDown Unit:=wdLine, Count:=1
.SelectRow
.Cells.Merge
.TypeText Text:="released for publication"
.MoveDown Unit:=wdLine, Count:=1
.TypeText Text:="date"
.MoveRight Unit:=wdCell
.TypeText Text:="Signed"
rs.MoveNext
End With
Loop
End If

Thanks in advance for your assistance.