投稿日 | : 2004/07/22(Thu) 12:41 |
投稿者 | : VFR |
Eメール | : |
URL | : |
タイトル | : Re^8: MSFlexGrid |
> Me.fpSpread1.DataSource = Rs
> Rs.MoveFirst
>
> I_RSCOUNT = Rs.RecordCount
> fpSpread1.ClearRange 1, 1, I_RSCOUNT * 2, 5, False
> Me.fpSpread1.MaxRows = I_RSCOUNT * 2 '最大行数をレコードセットの桁数にセット
DataSourceを指定することにより一旦Spreadにはレコードセットで
取得してた内容が反映されます。
1明細行あたり2行の表示なのでこの行は不要かと思います。
あとMaxRowに0をセットし後に再度MaxRowに表示最大行数をセットすると
セルに対しての設定がすべてクリアされますので
ClearRangeは不要かと思います。
Me.fpSpread1.MaxRows = 0 '最大行数をクリア
Me.fpSpread1.MaxRows = I_RSCOUNT * 2 '最大行数をレコードセットの桁数にセット
'実処理
If Rs.EOF <> True Then
With Me.fpSpread1
.Col2 = 5: .Row2 = .MaxRows
End With
Do Until Rs.EOF = True
L_CellCounter = L_CellCounter + 1
With Me.fpSpread1
.Col = 1: .Row = L_CellCounter
.AddCellSpan 2, L_CellCounter, 2, 1
.AddCellSpan 0, L_CellCounter, 2, 2 '結合
.Clip = Rs!国語 & vbTab & Rs!算数 & vbTab & vbTab & _
Rs!理科 & vbTab & Rs!社会
End With
L_CellCounter = L_CellCounter + 1
With Me.fpSpread1
.Col = 1
.Row = L_CellCounter
.AddCellSpan 1, L_CellCounter, 2, 1
.AddCellSpan 3, L_CellCounter, 3, 1
.AddCellSpan 0, L_CellCounter, 2, 2 '結合
.Clip = Rs!英語 & vbTab & vbTab & Rs!物理
End With
Rs.MoveNext
Loop
End If