如何把数据在报表中分四块在一页上打出来(一页四条记录)。正常情况下,第二条记录在第一条记录的下面,怎么把第二条记录放到第一条记录在的右面,第三条记录在第一条记录的下面,第四条记录在第二条记录下面。形式如下:
_______________________________________________________________________________
|=======================| |=======================|
| [第一条记录] | | [第二条记录] |
| 学号:11111 | | 学号 11112 |
| 年龄 23 | | 年龄 24 |
| 。 | | 。 |
| 。 | | 。 |
| 。 | | 。 |
| 。 | | 。 |
| 。 | | 。 |
| 。 | | 。 |
| 。 | | 。 |
|=======================| |=======================|
|=======================| |=======================|
| [第三条记录] | | [第四条记录] |
| 学号:11113 | | 学号 11114 |
| 年龄 23 | | 年龄 24 |
| 。 | | 。 |
| 。 | | 。 |
| 。 | | 。 |
| 。 | | 。 |
| 。 | | 。 |
| 。 | | 。 |
| 。 | | 。 |
|=======================| |=======================|
_________________________________________________________________________________就像上面的形式排列,一页连续四条记录。
请各位高手指点!谢谢!
_______________________________________________________________________________
|=======================| |=======================|
| [第一条记录] | | [第二条记录] |
| 学号:11111 | | 学号 11112 |
| 年龄 23 | | 年龄 24 |
| 。 | | 。 |
| 。 | | 。 |
| 。 | | 。 |
| 。 | | 。 |
| 。 | | 。 |
| 。 | | 。 |
| 。 | | 。 |
|=======================| |=======================|
|=======================| |=======================|
| [第三条记录] | | [第四条记录] |
| 学号:11113 | | 学号 11114 |
| 年龄 23 | | 年龄 24 |
| 。 | | 。 |
| 。 | | 。 |
| 。 | | 。 |
| 。 | | 。 |
| 。 | | 。 |
| 。 | | 。 |
| 。 | | 。 |
|=======================| |=======================|
_________________________________________________________________________________就像上面的形式排列,一页连续四条记录。
请各位高手指点!谢谢!
出現Section Expert窗口設置
選中details
看右邊選中Format with Multiple Columns
頁簽出現一個layout -->Detial width 設置須要的寬度
printing Direction Across then Down
也可以将字段数扩充一倍,奇数行记录为原字段,偶数行记录填入扩充字段。再用datareport
一般的打印输出我都是生成HTML文件显示在WEBBROWSER里,再提供打印按钮。
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim rs_t As ADODB.Recordset
Dim Sql As String
Dim i
'连接数据库(Access)
Set cn = New ADODB.Connection
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0 ;" & _
"Data Source=" & App.Path & "\db1.mdb;" & _
"Persist Security Info=False"
'学生信息记录集:
Sql = "select * from tb"
Set rs = New ADODB.Recordset
rs.Open Sql, cn, adOpenKeyset, adLockOptimistic
'清除tb_t表中的信息,打开tb_t记录集:
Sql = "delete from tb_t"
cn.Execute Sql
Sql = "select * from tb_t"
Set rs_t = New ADODB.Recordset
rs_t.Open Sql, cn, adOpenKeyset, adLockOptimistic
'向tb_t中添加数据:
i = 1
While Not rs.EOF
Ff i mod 2 <> 0 Then
rs_t.AddNew
rs_t!f1 = "学号:" & rs!学号 & Chr(10) + Chr(13) _
& "年龄:" & rs!年龄 & Chr(10) + Chr(13) _
& "班级:" & rs!iCode '根据你要显示的信息加减
ElseIf i mod 2 = 0 Then
rs_t!f2 = "学号:" & rs!学号 & Chr(10) + Chr(13) _
& "年龄:" & rs!年龄 & Chr(10) + Chr(13) _
& "班级:" & rs!iCode
End If
rs.MoveNext
i = i + 1
Wend
rs_t.UpdateBatch
Set rs_t = Nothing
Set rs = Nothing
Set cn = Nothing
rpt.Show '显示报表(rpt是报表控件名称)
End SubDataReport细节上添加二个RptTextBox控件,代码:Private Sub DataReport_Initialize()
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim sql As String
'连接数据库(Access)
Set cn = New ADODB.Connection
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0 ;" & _
"Data Source=" & App.Path & "\db1.mdb;" & _
"Persist Security Info=False"'打开表tb_t的记录集
Set rs = New ADODB.Recordset
Sql = "select * from tb_t "
rs.Open Sql, cn, adOpenKeyset, adLockOptimistic
'设置text控件属性
rpt.Sections("Section1").Controls("text1").DataField = "f1"
rpt.Sections("Section1").Controls("text2").DataField = "f2" Set rpt.DataSource = rs
End Sub试试吧
那个design panel那个方法到底是怎么回事呀,快帮帮我呀!
我 用的数据库是SQL2000,该怎么实现